9

オブジェクトが実際にどのようにAutoResetEvent扱われたかを確認することはできますか? タイムアウトまたは別のメソッドから Set() を呼び出すことによって起動されますか?

これが私のコードです。

private AutoResetEvent autoResetEvent = new AutoResetEvent(false);
private int timeout = 30000;

public void SyncMethod()
{
    // some code before
    autoResetEvent.WaitOne(timeout);
    // if autoResetEvent called by timeout then { do some stuff } 
    // some code after
}
public void AsyncMethod()
{
    // some code before
    // ok I am done
    autoResetEvent.Set();
}
4

2 に答える 2

14

WaitHandle::WaitOne メソッド (Int32)

戻り値の型: System::Boolean

現在のインスタンスがシグナルを受信する場合は true 。それ以外の場合は false。

そのため、タイムアウト後に false が返されます。

于 2012-07-16T16:58:48.553 に答える
3

はい、戻り値を確認します

現在のインスタンスがシグナルを受信する場合は true 。それ以外の場合は false。

http://msdn.microsoft.com/en-us/library/cc189907

于 2012-07-16T16:58:12.223 に答える