Tan*_*nya 20 concurrency synchronization mutual-exclusion
上面两个有什么区别?
我想到了这个问题因为我找到了
监视器和锁定提供互斥
信号量和条件变量提供同步
这是真的?
另外在搜索时我发现了这篇文章
请澄清.
Alo*_*ave 23
相互排斥意味着在任何给定的时间点,只有一个线程应该能够访问共享资源.这避免了获取资源的线程之间的竞争条件.监视器和锁定提供了这样做的功能.
同步意味着您将多个线程的访问同步/排序到共享资源.
考虑一下这个例子:
如果你有两个线程,Thread 1&Thread 2.
Thread 1和Thread 2并行执行但在此之前Thread 1可以执行说出的语句A在其序列它是一个必须Thread 2要执行语句B在其序列.你需要的是同步.信号量提供了这一点.你把semapohore等待语句之前A在Thread 1和你邮寄到信号后声明B中Thread 2.
这可确保您需要的同步.