监督和互斥

时间:2012-02-09 21:52:46

标签: concurrency synchronization monitor mutual-exclusion

只是想知道监视器中的互斥是在程序/方法级别还是在监视器级别。

我的意思是,在第一种情况下,可能有2个线程访问监视器,但它们将在不同的过程中运行。在第二种情况下,即使调用了两个不同的过程,也不会有2个线程加入监视器。

假设它处于监视器级别,它似乎更安全。但是,是否存在可能在监视器中运行2个不同线程的情况,每个线程修改不同的共享变量,并且监视器不允许这种情况发生?如果是这种情况,这不会降低系统中的并发性吗?或者是否意味着已经创建了2个 的监视器而不是一个?

好的,我最好完成哲学化:)提前谢谢

2 个答案:

答案 0 :(得分:0)

监视器锁定完全独立于调用方法 如果不是这种情况,那么阻止两种不同的方法同时执行将是非常困难的。

如果您不希望这样,请使用多个显示器。

答案 1 :(得分:0)

监视操作的机制是线程或进程的序列化。 因此,Monitor是一种保证并发情况互斥的技能。