0

次の要件で、ハンドラー機器を自動化しようとしています(ロボットがチップを選択してハードウェアプラットフォームに配置します):

1. ハンドラーには 6 つのサイトがあり、ハンドラーがそのサイトにデバイスを配置すると、ハンドラーはエラーコードを返します。

code1 はテスト準備完了、code2 はエラー、処理中の場合はコードが返されませんでした。

2.ハンドラーの動作を制御するマスターPCがあり、マスターPCとサイトPCの通信はStafを使用

3.そのコードを使用して、いくつかのテストを実行する必要があります(すでに実装され、適切に機能しています)。ハンドラーはデバイスを FIFO の順序で配置し、最初のサイトが最初にコードを返し、最後のサイトがコードを最後に返します。

4. サイト PC は受動的に動作しており、どのマスター PC がテストの実行時期と実行方法を決定します。サイト PC は、ハンドラーの準備ができているかどうかのみを認識し、テストを実行します。

したがって、私の質問は次のようになります: この場合、サイト PC (perl と .net が有効になっている Windows ベース) の場合、ビジー状態の待機方法の方が優れているか、または待機状態メカニズムの方が適しています:

例: サンプル コードは次のようになります。

void runTestonSite()
{
    for(;;)
    {
        if(returnCode == code1)
        {
            testStart(arg1,arg2,arg3);
        }
    }
}

または、この種のタスクを実行するためのより良い方法はありますか?

#include <boost/thread.hpp>

void getReturnCode() { 
    // do stuff
}

void RunTestOnSite() { 
    // do stuff
}

int main (int argc, char ** argv) {
    using namespace boost; 
    thread thread_1 = thread(getReturnCode);
    thread thread_2 = thread(RunTestOnSite);

    // do other stuff
    thread_2.join();
    thread_1.join();
    return 0;
}

アドバイスしてください、ありがとう

4

0 に答える 0