自旋锁的名字来自它的特性,在试图加锁的时候,如果当前锁已经处于”锁定”状态,加锁进程就进行”旋转”,用一个死循环测试锁的状态,直到成功的取得锁。自旋锁的这种特性避免了调用进程的挂起,用”旋转”来取代进程切换。而我们知道上下文切换需要一定时间,并且会使高速缓冲失效,对系统性能影响是很大的,所以自旋锁在多处理器环境中非常方便。当然,被自旋锁所保护的”临界代码”一般都比较短,否则就会浪费过多的CPU资源。
LINUX 自旋锁
最新推荐文章于 2023-09-08 16:43:16 发布