.Net Interview Question: What are Wait Handles?

Wait handles sends signals of a thread status from one thread to other thread. There are three kind of wait modes:

  • Wait One
  • Wait Any
  • Wait All

When a thread wants to release a Wait handle it can call set method. You can use Mutex (mutually exclusive) objects to avail for the following modes. Mutex objects are synchronization objects that can only be owned by a single thread at a time. Threads request ownership of the mutex object when they require exclusive access to a resource. Because only one thread can own a mutex object at any time, other threads must wait for ownership of a mutex object before using the resource.

The WaitOne method causes a calling thread to wait for ownership of a mutex object. If a thread terminates normally while owning a mutex object, the state of the mutex object is set to be signaled and the next waiting thread gets ownership.