C# 互斥锁 Mutex

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

大家好,又见面了,我是你们的朋友全栈君。

当两个或更多线程需要同时访问一个共享资源时,系统需要使用同步机制来确保一次只有一个线程使用该资源。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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/153230.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 如何设计一个通用的权限管理系统

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 作者:PioneerYi juejin.im/post/6850037267554287629 一个系统,如果没有安…

    2021年6月27日
    69
  • 精馏装置流程图_枪的构造原理

    精馏装置流程图_枪的构造原理1.什么是CA证书。看过一些博客,写的比较形象具体。◇普通的介绍信想必大伙儿都听说过介绍信的例子吧?假设A公司的张三先生要到B公司去拜访,但是B公司的所有人都不认识他,他咋办捏?常

    2022年8月3日
    6
  • 扩展数组…

    扩展数组…

    2021年7月8日
    83
  • nginx启动、重启、关闭

    方式一:传统方法一、启动  cdusr/local/nginx/sbin./nginx二、重启  更改配置重启nginx  kill-HUP主进程号或进程号文件路径或者使用cd/usr/local/nginx/sbin./nginx-sreload  判断配置文件是否正确 nginx-t-c/usr/local/nginx/conf/nginx.conf或者cd…

    2022年4月4日
    46
  • Springboot源码_pe启动制作源码

    Springboot源码_pe启动制作源码我们在使用SpringBoot启动项目的时候,可能只需加一个注解,然后启动main,整个项目就运行了起来,但事实真的是所见即所得吗,还是SpringBoot在背后默默做了很多?本文会通过源码解析的方式深入理解SpringBoot启动全过程SpringBoot启动过程流程图源码解析大家不要抗拒源码解析,这个非常优秀的代码,我们如果能够学会对自己代码编写水平大有裨益首先,我们先来看下SpringBoot项目的启动类@SpringBootApplicationpublicclassSp.

    2022年8月21日
    6
  • 关于前缀表达式

    关于前缀表达式前缀表达式例如 34 22 24 11 12 3 5 23 12 11 写成前缀表达式就是 3422 5 23 1211 前缀表达式的运算法则就是如果读取的是一个运算符号 就向下寻找两个数据进行运算 递归的思想如何读取数据和字符其实不用开很多字符数组 就只用

    2026年1月15日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号