Monitor.Enter and Monitor.Exit are designed to be called from the same thread. But, what if I need to release a lock in a different thread than acq
Monitor.Enter
Monitor.Exit
Try using a ManualResetEvent, it's used to block thead(s) until some external event has been triggered. MSDN Doc:
http://msdn.microsoft.com/en-us/library/system.threading.manualresetevent.aspx