摘要:
一、简介 我们使用类(.net Framework中的类,如 AutoResetEvent, Semaphore类等)的方法来实现线程同步的时候,其实内部是调用操作系统的内核对象来实现的线程同步。 System.Threading命名空间中提供了一个WaitHandle 的抽象基类,此类就是包装了一 阅读全文
摘要:
一、简介 当我们需要对一个共享资源多次读取的时候,用前面Monitor的同步锁就没有必要了。因为同步锁每次只允许一个线程访问共享资源,其他线程都会阻塞。 此时,通过ReaderWriterLock类可以很好的实现读取并行。 二、例子 1 using System; 2 using System.Th 阅读全文
摘要:
一、简介 Monitor.Enter和Monitor.Exit方法来实现线程同步,这个属于排他锁,即每次只有一个线程可以访问共享数据。 C#中通过lock关键字来提供简化的语法,lock可以理解为Monitor.Enter和Monitor.Exit方法的语法糖。 二、例子 1 using Syste 阅读全文