[WPF]C#多线程互斥锁Mutex的使用方法

来源:赵克立博客 分类: WPF 标签:C#多线程发布时间:2017-08-21 15:13:27最后更新:2017-11-23 09:35:50浏览:3129
版权声明:
本文为博主原创文章,转载请声明原文链接...谢谢。o_0。
更新时间:
2017-11-23 09:35:50
温馨提示:
学无止境,技术类文章有它的时效性,请留意文章更新时间,如发现内容有误请留言指出,防止别人"踩坑",我会及时更新文章

当两个或更多线程需要同时访问一个共享资源时,系统需要使用同步机制来确保一次只有一个线程使用该资源。Mutex 是同步基元,它只向一个线程授予对共享资源的独占访问权。如果一个线程获取了互斥体,则要获取该互斥体的第二个线程将被挂起,直到第一个线程释放该互斥体。

private static Mutex mut = new Mutex();



两个线程访问资源需要互斥时,两个线程都要用互斥锁。


线程A:

//安全时才可以访问共享资源,否则挂起。检测到安全并访问的同时会上锁。
mut.WaitOne();
//代码
//...
//...
//释放锁
mut.ReleaseMutex();



线程B:

//安全时才可以访问共享资源,否则挂起。检测到安全并访问的同时会上锁。
mut.WaitOne();
//代码
//...
//...
//释放锁
mut.ReleaseMutex();



参考资料:
 c# 多线程 --Mutex(互斥锁):http://www.cnblogs.com/hsrzyn/articles/1588776.html

MSDN:http://msdn.microsoft.com/zh-cn/library/01985e8f(v=vs.80).aspx


微信号:kelicom QQ群:215861553 紧急求助须知
Win32/PHP/JS/Android/Python