Rol*_*all 2 java multithreading scjp
这些类在同一文件中定义.什么是输出?(1个正确答案)
class Job extends Thread {
private Integer number = 0;
public void run() {
for (int i = 1; i < 1000000; i++) {
number++;
}
}
public Integer getNumber() {
return number;
}
}
public class Test {
public static void main(String[] args)
throws InterruptedException {
Job thread = new Job();
thread.start();
synchronized (thread) {
thread.wait();
}
System.out.println(thread.getNumber());
}
}
Run Code Online (Sandbox Code Playgroud)
- 它打印0.
- 它打印999999.
- 输出不保证是上述任何一种.
输出是999999.我理解当一个Thread完成它的run()方法时,它会终止并随之释放Thread释放的所有锁.但是,在本练习中,它使用Thread对象作为锁,不应该将它视为普通对象吗?我的意思是锁不是由Thread拥有的,thread而是由主线程拥有的.
| 归档时间: |
|
| 查看次数: |
100 次 |
| 最近记录: |