LINUX 自旋锁

来源:互联网 发布:手机淘宝怎么查等级 编辑:程序博客网 时间:2024/05/21 10:24
自旋锁的名字来自它的特性,在试图加锁的时候,如果当前锁已经处于锁定状态,加锁进程就进行旋转,用一个死循环测试锁的状态,直到成功的取得锁。自旋锁的这种特性避免了调用进程的挂起,用旋转来取代进程切换。而我们知道上下文切换需要一定时间,并且会使高速缓冲失效,对系统性能影响是很大的,所以自旋锁在多处理器环境中非常方便。当然,被自旋锁所保护的临界代码一般都比较短,否则就会浪费过多的CPU资源。