更改同步线程执行顺序

时间:2012-06-30 13:59:38

标签: java multithreading synchronization

我正在执行java-synchronisation example

线程通话代码:

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

输出:

[Hello]
[World]
[Synchronized]

为什么“同步”会被打印到最后,虽然它在第二次被调用?

1 个答案:

答案 0 :(得分:1)

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

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