イベントを受信する Windows Delphi アプリケーションがあります。これらのイベントのそれぞれで、タスクを並行して実行したいと思います (次のイベントの準備ができるようにするため)。omnithread ライブラリの抽象化を通じてこれを行う方法はたくさんあります。
問題は、イベントの受信直後にコードの一部を実行する必要があり (基本的にイベントパラメーターを「デコード」するため)、別の部分を数秒後に実行する必要があることです。同じ文脈。この動作は、「この新しい値が 3000 ミリ秒以上続く場合にのみ保存し、それ以外の場合はキャンセルする」に対応する必要があります。したがって、同じコンテキストで新しいイベントが到着した場合、実行中のタスク (3000 ミリ秒待機するタスク) を「キャンセル」する必要があります。最初のステージが終了すると、キャンセルするかどうかを尋ねることなく、2 番目のステージのキューが自動的にいっぱいになるため、パイプラインの抽象化を使用できません。
それは可能ですか?
ありがとうございました。