我不熟悉 ManualResetEvent 的用法?
是否与线程有关。它做什么以及何时使用?
在这里,我得到了一个使用 ManualResetEvent 的代码,但我只是不明白它的作用?
这是代码
public class Doc : SomeInterfaceFromTheDll
{
private readonly IVersion version; // An interface from the DLL.
private readonly ManualResetEvent _complete = new ManualResetEvent(false);
private bool downloadSuccessful;
// ...
public bool Download()
{
this.version.DownloadFile(this);
// Wait for the event to be signalled...
_complete.WaitOne();
return this.downloadSuccessful;
}
public void Completed(short reason)
{
Trace.WriteLine(string.Format("Notify.Completed({0})", reason));
this.downloadSuccessful = reason == 0;
// Signal that the download is complete
_complete.Set();
}
// ...
}
是什么意思_complete.WaitOne(); & _complete.Set(); ?
谁能给我一些ManualResetEvent类使用的小示例代码。
正在寻找 ManualResetEvent 的良好讨论和用法?谢谢