信号量可能允许有多个持有者,而自旋锁在任何时候只能允许一个持有者, 当然也有信号量叫互斥信号量(只能有一个持有者),允许有多个持有者的信号量叫“计数信号量”。
信号量适合于保持时间较长的情况;而自旋锁适合于“保持时间非常短“的情况。在实际应用中自旋锁控制的代码只有几行,持有自旋锁的时间一般不会超过两次上下文切换的时间,因为线程一旦要行切换,就至少花费切出切入两次。自旋锁的占用时间如果远远长于两次上下文切换,我们就应该选择信号量!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)