我正在执行java-synchronisation example:
线程通话代码:
Caller ob1 = new Caller(target, "Hello");
Caller ob2 = new Caller(target, "Synchronized");
Caller ob3 = new Caller(target, "World");
输出:
[Hello] [World] [Synchronized]
为什么“同步”会被打印到最后,虽然它在第二次被调用?
答案 0 :(得分:1)
执行顺序无法保证。这是JVM的自由裁量权。
调用Thread实例的start()方法并不能保证它会立即在方法调用之后运行。