首页 > 代码库 > spinlock,mutex,semaphore,critical section的作用与区别

spinlock,mutex,semaphore,critical section的作用与区别

某年深信服的笔试题,考的就是多线程的同步,简单的解释下方便记忆:

1.spinlock:自旋锁。是专为防止多处理器并发而引入的一种锁。

2.mutex:互斥量。只有拥有互斥对象的线程才有访问公共资源的权限。保证了资源不会同时被多个线程访问。

3.semaphore:信号量。允许多个线程同时访问资源,限制访问资源的最大线程数。

4.critical section:临界区。任意时刻只允许一个线程对共享资源进行访问。

spinlock,mutex,semaphore,critical section的作用与区别