0

に記載されている条件を実装したいと考えてい下図ます。

スレッド 2 が何らかのジョブを完了するまでスレッド 1 を待機させ、スレッド 2 がジョブを終了した後、スレッド 1 をウェイクアップさせる必要があります。QThread の QWaitcondition または単純な sleep() メソッドを使用しますか? QWaitcondition の場合、待機状態をどのように構成する必要がありますか...どんな提案も大歓迎です..

4

1 に答える 1

0

これを行う最も簡単な方法は、Thread1 Job1 関数をシグナルから呼び出し、この関数にシグナルを発行させて Job2 を開始させることです。Job2 が終了すると、Job1 を再び開始するシグナルを発行します。あなたのダイアグラムは本質的にあなたがやりたいことですが、受信した信号をジョブに接続する信号に変更するだけです。

job2 が完了するとすぐに Job1 を開始するという極端なタイミング要件が必要でない限り、条件付きの「待機」を行う必要はありません。これはコアを吸い込むか、非常に非効率的です。

于 2013-01-10T12:45:39.337 に答える