是访问现场时,直接
答
不同步,不存在僵局,只有数据损坏和未定义的行为。
答
当您使用错误的(或没有)同步您可以得到任何类型的bug。
你不能直接得到死锁只需通过访问现场没有块,但它可以很容易地导致死锁间接。
这意味着,访问字段本身不会阻止,但根据你做什么之后,它可能会导致未预期且随后导致死锁状态。
答
监视器关心互斥。
论deadlocks-问题并不重要,你用什么方法。更重要的是要满足某些conditions。无论您使用何种方法,除非满足这些条件,否则无法避免死锁。因此,即使使用同步,除非满足某些条件,否则无法避免死锁。
我不同意。没有同步,死锁仍然是可能的。来源:http://www.javaworld.com/javaworld/jw-10-2001/jw-1012-deadlock.html – 2011-05-02 12:09:13
@Druv看到我的评论给你的答案 - 文章不支持这种说法。 – CPerkins 2011-05-02 12:49:34
@Dhruv Gairola:不,只有(不正确)同步才会发生死锁。同步可能在第三方代码中,但我的答案仍然有效。你提到的文章都是关于同步死锁。 – 2011-05-02 14:16:26