最近看多线程应用多线程同步方法,多线程同步方法有四种,分别是是互斥量,临界段,事件和信号量;这些方法都有各自的特点,用于不同的场合。这些方法的异同如下(在多线程编程书上看的):
1、互斥量、事件、信号量都是内核对象,可用于进程间的线程同步;而临界段是进程内对象只能用于进程内的线程同步。虽然在同一个进程内同步时,互斥量和临界段的功能相似,蛤在性能上临界段要优于互斥量。
2、事件和其他几个同步方法的不同在于事件的主要作用不是保护共享的资源,而是用于等待某个事件和在特定的事件发生时发送信号,以协调线程之间的动作。
3、信号量与其他同步方法的区别在于它允许一个以上的线程同时访问共享资源,而其他线程同步方法都保证同时只能有一个线程访问共享的资源。信号量的主要功能是用于资源计数。