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

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

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

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

2.mutex:相互排斥量。

仅仅有拥有相互排斥对象的线程才有訪问公共资源的权限。保证了资源不会同一时候被多个线程訪问。

3.semaphore:信号量。同意多个线程同一时候訪问资源,限制訪问资源的最大线程数。

4.critical section:临界区。

随意时刻仅仅同意一个线程对共享资源进行訪问。

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