Java 教程是为 JDK 8 编写的。本页中描述的示例和实践未利用在后续版本中引入的改进。
Thread 对象传递给 Executor.execute 吗?这样的调用会有意义吗?BadThreads.java:
public class BadThreads {
static String message;
private static class CorrectorThread
extends Thread {
public void run() {
try {
sleep(1000);
} catch (InterruptedException e) {}
// Key statement 1:
message = "Mares do eat oats.";
}
}
public static void main(String args[])
throws InterruptedException {
(new CorrectorThread()).start();
message = "Mares do not eat oats.";
Thread.sleep(2000);
// Key statement 2:
System.out.println(message);
}
}
应用程序应打印出“Mares do eat oat”。是否保证始终这样做?如果不是,为什么不是呢?更改 Sleep 的两次调用的参数会有帮助吗?你如何保证在主线程中可以看到 message 的所有更改?
Drop 类。