0

AutoResetEvent オブジェクトを使用してスレッドを 60 秒間ブロックしていますが、60 秒間または AutoResetEvent.set() イベントでブロックしたいと考えています。

コード :

global:
private readonly AutoResetEvent _signal = new AutoResetEvent(false);

blocking:
_signal.WaitOne(60000, true);

event to give signal 
_signal.Set();

しかし、それは常に60秒全体を待ちます! 信号を離しても。

4

1 に答える 1

0

WaitOne()呼び出しがブロックされるため、呼び出しはのSet()タイムアウト後にのみ起動されますWaitOne()Set()待機時間を短縮するには、待機中のスレッドとは別のスレッドから呼び出す必要があります。

あなたがやろうとしていることは完全には明らかではありません。

于 2010-02-09T08:52:11.507 に答える