Usage of Mutex in c#

后端 未结 4 2029
陌清茗
陌清茗 2020-12-15 03:23

I am a bit new in threading in c# and on general, in my program I am using mutex to allow only 1 thread getting inside a critical section and f

4条回答
  •  -上瘾入骨i
    2020-12-15 04:03

    This pattern does no locking at all. Every thread creates a new Mutex object and immediately owns the lock for it. Other threads create and use a new Mutex itself.

    Consider using a regular lock()!

    lock(_lockobject) {
       // do inside what needs to be done - executed on a single thread only
    } 
    

    where _lockobject is a simple private variable in your class:

    private object _lockobject; 
    

    Edit: thanks to the commenters! Situations exist, where lock(this) can be dangerous. So I removed that.

提交回复
热议问题