Monitor主要方法TryEnter、Enter、Exit

lock关键字基于Monitor.Enter,Monitor.Exit 实现

        static void Main(string[] args){for (int j = 0; j < 10; j++){int k = j;Task.Run(() =>{Show(k);});}Console.ReadKey();}private static readonly object obj = new object();private static void Show(int num){bool lockTaken = false;//是否获得了该锁//Monitor.TryEnter(obj, 2000, ref lockTaken);//等待锁时间,超过2000毫秒就不在等待获取锁Monitor.TryEnter(obj, -1, ref lockTaken);//获取锁,等同于Monitor.Enter(obj)/* TryEnter不阻塞线程,不会造成死锁,Enter会阻塞,可能造成死锁 */if (lockTaken){Console.WriteLine($"{DateTime.Now}");try{Console.WriteLine($"{num} 开始");Thread.Sleep(1100);Console.WriteLine($"{num} 结束");}finally{Monitor.Exit(obj);//释放锁}}else{}}

c# Monitor相关推荐

  1. Monitor CodeForces - 846D ——二维前缀和

    Recently Luba bought a monitor. Mon itor is a rectangular matrix of size n × m. But then she started ...

  2. windows下 Source Monitor代码度量工具的使用

    windows下 Source Monitor代码度量工具的使用 引用链接: https://www.cnblogs.com/xuehanyu/p/4520965.html 1.总体介绍 Source ...

  3. C#中使用Monitor类、Lock和Mutex类来同步多线程的执行(转)

    C#中使用Monitor类.Lock和Mutex类来同步多线程的执行 在多线程中,为了使数据保持一致性必须要对数据或是访问数据的函数加锁,在数据库中这是很常见的,但是在程序中由于大部分都是单线程的程序 ...

  4. 转:C#中Monitor对象与Lock关键字的区别分析

    Monitor对象1.Monitor.Enter(object)方法是获取 锁,Monitor.Exit(object)方法是释放锁,这就是Monitor最常用的两个方法,当然在使用过程中为了避免获取 ...

  5. 二维前缀和+差分 HDU6514 Monitor

    Monitor [ HDU - 6514 ] 题目大意:给你个n×m的区域,每个区域被选中标记为1,没被选中标记为0,然后给一些标记的区域,查询若干个区域问是否有0的 一道二维前缀和的题目,想通没什么 ...

  6. 设置树莓派的无线网卡为监听模式(monitor)

    先使用命令查看无线网卡的名字: ifconfig 结果如下: eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 1 ...

  7. Ambari安装之部署 (Metrics Collector和 Metrics Monitor) Install Pending ...问题

    问题详细描述如下:  Metrics Collector的解决办法 正在重新安装 Metrics  Monitor的解决办法 Metrics Collector和 Metrics Monitor 的I ...

  8. 集成服务监控器-green.monitor发布

    在大型企业应用开发中,一个项目经常需要依赖于多个项目集成,经常某个集成服务的升级或者不工作,会导致你所工作的服务也挂掉,甚至影响你的开发流程.你是否还在接到测试团队或者运维团队的某个Bug,而自己花费 ...

  9. Android官方命令深入分析之Device Monitor

    Android Device Monitor是一个提供了图形化界面的可以对Android应用进行调试和分析的独立的工具.Monitor工具不需要IDE环境,比如Android Studio.包括以下工 ...

  10. 文件翻译002片:Process Monitor帮助文档(Part 2)

    [筛选亮点] Process Monitor提供了一些方式来配置筛选器和高亮显示.         筛选器的包括与排除 您能够在筛选器中指定事件的属性,这样就能够令Process Monitor仅显示 ...

最新文章

  1. R语言聚类分析之基于划分的聚类KMeans实战:基于葡萄酒数据
  2. IDEA 2019 生成Spring Boot项目,编写第一个Hello World程序,并打包成jar
  3. sqlserver note
  4. Delphi XE7的Splash 功能
  5. 把握不好数组边界的危害(记洛谷P1789题RE+WA的经历,Java语言描述)
  6. iPhone越来越难打动你?从iOS平台转投安卓阵营 这招你得学会!
  7. python提现_用Python创建比特币钱包,读余额,极速免费转账,标准转账
  8. 数据分析为何能指导商业决策?
  9. Matlab实现均值滤波与FPGA进行对比,并采用modelsim波形仿真
  10. 关于计算机应用基础论文,关于计算机应用基础论文
  11. Cognitive Surplus 认知盈余
  12. 入射波反射波和驻波的特性推导
  13. 相同的js文件在IE浏览器可以响应,但是在Chrome浏览器上没有响应
  14. Vue <transition> 多个组件的过渡案例
  15. 项目总结 :木门app(2015.4.10 —— 2015.5.8)
  16. uniapp showToast
  17. yxc_第二章 数据结构(一)_栈和队列
  18. 苹果终止位置共享无法连接服务器,苹果发布临时解决方案指导用户处理macOS无法共享访问Windows的问题...
  19. 《数据结构、算法与应用 —— C++语言描述》学习笔记 — 优先级队列 — 左高树
  20. 冲量在线创始人刘尧受邀出席2021隐私计算大会并作演讲

热门文章

  1. C++ 解决经典哥尼斯堡七桥问题
  2. html 广告加载页面,JS广告代码延迟加载或是最后加载加快页面载入
  3. 摄影欣赏:30幅五光十色的精美秋天风景摄影作品
  4. Linux Bridge实现
  5. Gym 100818 F Irrational Roots (数学)
  6. linux释放cpu命令,linux内存清理和释放命令
  7. ctfshow 菜狗杯wp
  8. imdb.com排名算法
  9. linux服务器之间的文件同步(双向同步unison+inotify)
  10. java 假币问题_假币问题-题解(Java代码)