0

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

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

2 回答 2

0

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

于 2013-10-28T18:48:03.340 回答
0

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

于 2013-10-28T18:48:31.023 回答