我不熟悉ManualResetEvent的用法嗎?關於使用ManualResetEvent用法c#?
它是否與線程相關。它做什麼以及何時使用?
這裏我得到了一個代碼,其中使用了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的討論和用法?謝謝