线程中的java语句执行

时间:2013-10-28 18:42:10

标签: java multithreading thread-safety

如果线程正在执行以下语句(假设x的值为1)并且在“Here”处休眠,而其他一些线程更改x的值。(假设为10)将是什么输出?

System.out.println(/Here/++x);

2 个答案:

答案 0 :(得分:0)

如果运行System.out的线程在对++x进行任何处理之前停止,然后x的值在另一个线程上更改为10,则打印语句将是Here评估的任何内容,后跟11

答案 1 :(得分:0)

哪一个首先出现。但是你应该知道,如果执行命令,它就无法改变。即使系统是多核的,它也会先完成命令,然后跳到下一个命令。除非它调用一个大函数,这是一个不同的主题。