i am not familiar with the usage of ManualResetEvent ?
is it thread related. what it does and when it is used?
here i got a code where ManualResetEvent is used but i just do not understand what it does?
here is the code
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();
}
// ...
}
what is the meaning of _complete.WaitOne(); & _complete.Set(); ?
can anyone give me small sample code where ManualResetEvent class usage will be there.
looking for good discuss and usage of ManualResetEvent ? thanks