C#学习之多线程开发技术(七)

来源:互联网 发布:大数据专业报哪个大学 编辑:程序博客网 时间:2024/04/30 01:15

线程同步之Monitor结构

-------概述

      在Framework中已经为我们提供了三个加锁的机制,分别是
           Monitor
           Lock关键字
           Mutex类 
     都是锁定数据或是锁定被调用的函数
     Mutex则多用于锁定多线程间的同步调用。简单的说,MonitorLock多用于锁定被调用端,而Mutex则多用锁定调用端。
     MonitorLock将代码段标记为临界区,其实现原理是首先锁定某一私有对象,然后执行代码段中的语句,当代码段中的语句执行完毕后,再解除锁。

--------Monitor结构

private Object obj = new Object();//定义一私有对象//……其它代码Monitor.Enter(obj);//….操作临界资源Monitor.Exit(obj);

--------monitor结构的使用方法和LOCK结构是相似的。

      首先,先定义这样的一个对象:

private Object obj = new object();

     接着,在需要加锁的地方加锁:

Monitor.Enter(obj);            //lock(this){     Console.WriteLine("{0}{1}", str, System.DateTime.Now.Millisecond.ToString());     Thread.Sleep(50);}Monitor.Exit(obj);

     这里和LOCK的使用方法是相似的。调用MonitorEnter方法 和 Exit方法即可。

0 0
原创粉丝点击