> I don't find any conceptual difference between Mutex and Monitor. Can > someone tell if there are any ?
Mutexes can be named, making them usable across process boundaries. Monitors have Pulse and Wait functionality, making it easier for you to lessen the risk of thread starvation. I suspect that Monitors are implemented to use OS CriticalSections wherever possible, and that Mutexes use, well, OS Mutexes. That probably means that Monitors are more efficient, since they don't mandate a switch into kernel mode. But I haven't spelunked the implementation, so that's just speculation. But fundamentally they're both single-owner mutual-exclusion locks. Maybe MikeW or someone else can think of some other, more fundamental differences. You can read messages from the Advanced DOTNET archive, unsubscribe from Advanced DOTNET, or subscribe to other DevelopMentor lists at http://discuss.develop.com.