读书人

自旋锁互斥锁信号量。这些用原子操

发布时间: 2013-07-04 11:45:44 作者: rapoo

自旋锁,互斥锁,信号量。这些用原子操作就一定安全了吗??
1.自旋锁会导致死锁。
2.互斥锁难道不会发生一个信号先获取了锁之后没来的及关闭锁,然后另外一个信号正好在这个瞬间拿了互斥锁。这样会产生的问题就是信号的信息会被另一个信号给刷掉了。

原子级的操作我看有人说这样就可以100%保证安全,不会出现问题了(其实进程通信出现的问题也就上面那两个)。这个是真的吗?我没有找到推翻这个观点的理论,各位能不能帮忙看看。谢谢。自旋锁,互斥锁,信号量。这些用原子操作就一定安县全了吗?
1 是锁就能导致死锁。
2 互斥锁要是连这都保证不了要它做什么,你说的问题CLR帮你解决了,要怀疑就不要用.NET了。自旋锁,互斥锁,信号量。这些用原子操作就一定安县全了吗?
[解决办法]
你说的第2种情况已经违背了互斥锁的原则
所谓原子级,就是操作不能再分割,CLR的内部实现还是很可靠的,只要不是使用不当就不用担心
[解决办法]
1.单纯的自旋锁不可能产生真实的死锁,最多就是产生某种概率的死锁表象。
2.如果如LZ所说,那还能叫互斥锁吗?

读书人网 >C#

热点推荐