0

我正在执行一个java 同步示例

线程调用代码:

Caller ob1 = new Caller(target, "Hello");
Caller ob2 = new Caller(target, "Synchronized");
Caller ob3 = new Caller(target, "World");

输出:

[你好]
[世界]
[同步​​]

为什么“Synchronized”会最后打印,尽管它是在 2nd 中调用的?

4

1 回答 1

1

执行顺序无法保证。这是JVM的自由裁量权。

调用 Thread 实例的 start() 方法并不能保证它会在方法调用之后立即运行。

于 2012-06-30T14:04:16.550 回答