随笔分类 - C#多线程
摘要:上一篇介绍了同步事件EventWaitHandle,以及它的两个子类型AutoResetEvent和ManualResetEvent。下面接着介绍WaitHandle的另外两个子类型Mutex和Semaphore。互斥体Mutex互斥体Mutex也是Windows用来进行线程同步的内核对象。当两个或...
阅读全文
摘要:上一篇介绍了通过lock关键字和Monitor类型进行线程同步,本篇中就介绍一下通过同步句柄进行线程同步。在Windows系统中,可以使用内核对象进行线程同步,内核对象由系统创建并维护。内核对象为内核所拥有,所以不同进程可以访问同一个内核对象, 如进程、线程、事件、信号量、互斥量等都是内核对象。其中...
阅读全文
摘要:在多线程代码中,多个线程可能会访问一些公共的资源(变量、方法逻辑等等),这些公共资源称为临界区(共享区);临界区的资源是不安全,所以需要通过线程同步对多个访问临界区的线程进行控制。同样,有些时候我们需要多个线程按照特定的顺序执行,这时候,我们也需要进行线程同步。下面,我们就看看C#中通过lock和M...
阅读全文