Windows 用の C++ のコードがいくつかあり、それを Java に移植する予定です。しかし、残念ながら思ったほど簡単ではありません。誰か助けてくれませんか?
アルゴリズムを見てください:
HANDLE hExitEvent;
HANDLE hDataAvailabeEvent;
while(true)
{
WaitForMultipleObjects();
if (hExitEvent is set)
break;
if (hDataAvailabeEvent)
{
process chunk of data;
if (all data processed)
ResetEvent(hDataAvailabeEvent);
}
}
hDataAvailabeEvent は、異なるスレッドから設定できます。すべてのデータが処理されると、イベントがリセットされ、WaitForMultipleObjects の呼び出し時にスレッドは、新しいデータが到着するか、スレッドが終了するまで中断されます。
Java で Waitformultipleobjectsという質問を既に見ましたが、1 サイクルの反復ですべての新しいデータを処理できず、処理がいくつかの反復に広がるため、私の状況には適していません。
前もって感謝します!