自旋锁与信号量

来源:互联网 发布:ck内裤价格知乎 编辑:程序博客网 时间:2024/05/18 00:45

低开销加锁               优先使用自旋锁
短期锁定                 优先使用自旋锁
中断上下文中加锁          使用自旋锁

 

长期加锁                 优先使用信号量
持有锁是需要睡眠、调度     使用信号量


自旋锁是专为防止多处理器并发而引入的一种锁,它在内核中大量应用于

中断处理等部分。
死锁:假设有一个或多个内核任务和一个或多个资源,每个内核都在等待

其中的一个资源,但所有的资源都已经被占用了。这便会发生所有内核任

务都在相互等待, 但它们永远不会释放已经占有的资源,于是任何内核任

务都无法获得所需要的资源,无法继续运行,这便意味着死锁发生了。自

死琐是说自己占有了某个资源,然后 自己又申请自己已占有的资源,显然

不可能再获得该资源,因此就自缚手脚了。

 

信号量不能使用在中断上下文,只能使用在进程上下文。

原创粉丝点击