Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如果线程正在执行以下语句(假设 x 的值为 1)并在点“此处”休眠,并且其他一些线程更改了 x 的值。(假设为 10)输出会是什么?
System.out.println(/Here/++x);
如果运行的线程在对System.out进行任何处理之前停止++x,然后x在另一个线程上将 的值更改为10,则打印的语句将是任何Here计算结果,然后是11。
System.out
++x
x
10
Here
11
哪一个先来。但是您应该知道,如果正在执行命令,它就无法改变。即使系统是多核的,它也会先完成命令,然后再跳到下一个。除非它调用一个大函数,这是一个不同的主题。