【发布时间】:2010-10-17 10:17:32
【问题描述】:
假设我们有多处理器机器和多线程应用程序。如果两个线程可以访问同步方法并且它们同时执行,那么哪个线程将获得锁? 或者会发生什么?
谢谢
【问题讨论】:
-
我猜,VM 将不得不抛硬币。
-
这是否意味着如果两个线程都尝试在循环中获取锁,则允许 VM 饿死一个线程?
-
@Peter G,是的,看看我的回答。
-
@Peter G:按照规范可以。但是一个聪明的实现会有一些方法来解决它(比如大概的到达顺序)。
标签: java multithreading concurrency synchronization