初学多线程(二)--Monitor VS lock
来源:互联网 发布:蓝格软件 编辑:程序博客网 时间:2024/04/27 23:45
**1.Both Monitor class and lock provider a mechanism that synchronizes access to objects.lock is the shortcut for Monitor.Enter with try and finally.
即lock是Monitor.Enter()的简写**
private static object obj = new object(); static void AddToMillion() { for (int i = 0; i < 1000000; i++) { lock(obj) { total++; } } }
可以写成:
private static object obj = new object(); static void AddToMillion() { for (int i = 0; i < 1000000; i++) { Monitor.Enter(obj); try { total++; } finally { Monitor .Exit (obj ); } } }
2.lock是简写方法,如果要实现高级进程,就要使用Montor类中的其他方法,如:TryEnter(),Wait(),Pulse()&PulseAll()等
注意Montor.Enter在C#4.0中的写法有点不一样
static object obj = new object(); static void AddToMillion() { for (int i = 0; i < 1000000; i++) { bool lockToken = false; Monitor.Enter(obj, ref lockToken); try { total++; } finally { if(lockToken) Monitor .Exit (obj ); } } }
0 0
- 初学多线程(二)--Monitor VS lock
- c#初学-多线程中lock Monitor锁
- C# lock,Monitor 介绍。(多线程并发控制)
- C#多线程学习(九)lock,Monitor,Mutex的区别
- Java多线程--Monitor对象(二)
- 多线程编程中的锁定(lock,Monitor)
- c# lock,Monitor(介绍) 多线程并发控制
- c#多线程之monitor和lock
- 多线程中的lock,Monitor.Wait和Monitor.Pulse
- 多线程中的lock,Monitor.Wait和Monitor.Pulse
- 多线程中的lock,Monitor.Wait和Monitor.Pulse
- 多线程中的lock,Monitor.Wait和Monitor.Pulse
- lock vs Monitor vs Mutex之间的区别
- Lock Monitor
- 多线程:C#线程同步lock,Monitor,Mutex,同步事件和等待句柄(中) (转)
- 多线程:C#线程同步lock,Monitor,Mutex,同步事件和等待句柄(下) (转)
- 多线程:C#线程同步lock,Monitor,Mutex,同步事件和等待句柄(上)(转)
- 多线程:C#线程同步lock,Monitor,Mutex,同步事件和等待句柄(上)
- docker日志引起系统容量问题
- wamp2.5 连接 mssql2012
- nyoj1241 Distribution (河南省第八届acm程序设计大赛)
- 1033. 旧键盘打字(20)
- Linux-IPC之共享内存
- 初学多线程(二)--Monitor VS lock
- 【Linux】教你一步一步在CentOS Linux release 7.1上安装配置vncserver
- android init.rc 配置
- Linux ALSA声卡驱动之四:Control设备的创建
- hadoop_5 : Hadoop的机制
- POJ 3159 Candies(差分约束系统)
- wamp环境搭建分析
- 1034. 有理数四则运算(20)
- [javaEE]Java中JSON的简单使用与前端解析