1、临界区
当多个线程访问独占性共享资源的时候,可以使用临界区对象。拥有临界区的线程可以访问被保护起来的资源或者代码块。
2、事件
事件机制:允许一个线程在处理完一个任务之后,主动唤醒另一个线程执行任务。从而达到一个线程的通信。
3、互斥量
互斥对象和临界区类似。但是互斥量只允许在进程间使用,而临界区只允许同一个进程的各个线程之间使用。但是更节约资源、效率更高。
4、信号量
信号量是通过一个计数器来限制可以使用某个共享资源的线程数量。当这个数值达到了阈值,其他的线程如果还需要访问资源,就会被放入等待队列中,直到其他的线程访问结束后,方可继续访问资源。