自旋锁

来源:互联网 发布:闲来麻将源码架设教程 编辑:程序博客网 时间:2024/06/10 14:46

       自旋锁是专为防止多处理器并发而引入的一种锁。它只能被一个内核任务持有,如果一个内核任务试图请求一个已被用(已经 被持有)的自旋锁,那么这个任务就会一直进行“忙循环旋转等待锁重新可用。一个被用的自旋锁使得请求它的线程在等待锁重新可用的期间进行自旋(特别浪费处理器时间),所以自旋锁不应该被持有时间过长。如果需要长时间锁定的话,最好使用信号量。

      自旋锁的基本形式如下:

      Spin_lock(&lock);

      //临界区

      Spin_unlock(&lock);

原创粉丝点击