San*_*eev 2 java multithreading
class Name implements Runnable {
public void run() {
for (int x = 1; x <= 3; x++) {
System.out.println("Run by "
+ Thread.currentThread().getName()
+ ", x is " + x);
}
}
}
public class Threadtest {
public static void main(String [] args) {
// Make one Runnable
Name nr = new Name();
Thread one = new Thread(nr);
Thread two = new Thread(nr);
Thread three = new Thread(nr);
one.setName("A");
two.setName("B");
three.setName("C");
one.start();
two.start();
three.start();
}
}
Run Code Online (Sandbox Code Playgroud)
答案是不同的,编译和运行超过一次我不知道为什么?任何的想法.
它应该显示相同的输出,但每次运行可能会以不同的顺序显示.
你有三个独立的线程:每个都会以明显的顺序显示三行输出 - 但是不能保证哪个线程会先执行,等等.在这种特殊情况下我不相信你有任何副作用会导致真正奇怪的行为 - 只是线程运行时的正常歧义.请注意,在多核处理器上,线程可能同时运行 - 唯一的同步是内部发生的任何事情System.out.println.
| 归档时间: |
|
| 查看次数: |
127 次 |
| 最近记录: |