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)
上一篇 2022年6月26日 下午12:46
下一篇 2022年6月26日 下午12:46


相关推荐

  • Android进阶-第三方框架使用汇总「建议收藏」

    Android进阶-第三方框架使用汇总「建议收藏」imageloading框架:1.1Glide1.1Glide:一、Glide-GettingStartedGlide:Glide就像Picasso,能从许多资源上加载和显示图片,也照顾了缓存和做图片操作的时候保持一个低的内存影响,它已经被官方谷歌应用程序(如GoogleI/O的应用程序2015)和Picasso一样受欢迎,在本系列中,我们将探索Glide在Picas

    2022年5月11日
    39
  • k8s pod Evicted状态问题解决

    k8s pod Evicted状态问题解决kubectlgetpo-nkube-system-owide#查看pod运行状态信息可以看到有两个状态为驱赶,一般是磁盘空间不足了,清理slave磁盘空间后,状态正常

    2022年5月16日
    61
  • ioremap执行过程

    ioremap执行过程early ioremap init 在 start kernel setup arch 函数中调用

    2026年3月17日
    2
  • Windows下whl文件安装

    Windows下whl文件安装一 Whl 格式文件本质上是一个压缩包 里面包含了 py 文件 以及经过编译的 pyd 文件 使得可以在不具备编译环境的情况下 选择合适自己的 python 环境进行安装 nbsp 二 安装 将 whl 文件移动到 python Scripts 文件夹内 如果有设置环境变量可以不用移动 whl 文件位置 用 管理员模式 打开 cmd 在 cmd 中使用 pipinstallxx whl 即可安装 所以需要安装 p

    2026年3月26日
    2
  • python3基础:操作mysql数据库

    python3基础:操作mysql数据库mysql登陆基本操作:登陆:mysql-uroot-h127.0.0.1-P3306-pmysql-uroot-p(本机不用写host)退出mysql:ctrl+z+回车,或者exit端口号默认是3306,但是可以通过安装目录下的配置文件修改。使用流程引用API模块获取与数据库的连接执行sql语句与存储过程关闭数据库连接安装pymysqlpython3与…

    2022年6月1日
    65
  • python导入鸢尾花数据集_python数据挖掘学习笔记】十九.鸢尾花数据集可视化、线性回归、决策树花样分析…

    #2018-04-0516:57:26AprilThursdaythe14week,the095daySZSSMRpython数据挖掘学习笔记】十九.鸢尾花数据集可视化、线性回归、决策树花样分析1.鸢尾花数据集可视化分析2.线性回归分析鸢尾花花瓣长度和宽度的关系3.决策树分析鸢尾花数据集4.Kmeans聚类分析鸢尾花数据集一.鸢尾花数据集介绍本章采用Python的Sklea…

    2022年4月16日
    127

发表回复

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

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