首页 > 代码库 > Monitor用法
Monitor用法
Monitor 类通过向单个线程授予对象锁来控制对对象的访问。 对象锁提供限制访问代码块(通常称为临界区)的能力。 当一个线程拥有对象的锁时,其他任何线程都不能获取该锁。 还可以使用 Monitor 来确保不会允许其他任何线程访问正在由锁的所有者执行的应用程序代码节,除非另一个线程正在使用其他的锁定对象执行该代码。
作用和Lock相同
public class MonitorDemo { public void ShowMsg(object obj) { Monitor.Enter(typeof(MonitorDemo)); Console.WriteLine(string.Format("显示信息:{0},并停留5秒,当前时间:",obj.ToString(),DateTime.Now)); Thread.Sleep(5000); Monitor.Exit(typeof(MonitorDemo)); } } Thread thread = null; MonitorDemo monitor=new MonitorDemo(); for (int i = 0; i < 3; i++) { thread = new Thread(new ParameterizedThreadStart(monitor.ShowMsg)); thread.Start(i); }
运行结果:
Monitor Wait Pulse方法用起来可以实现线程互斥:
例子:http://www.cnblogs.com/free722/archive/2011/03/25/1995136.html
Monitor用法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。