我有一个运行两个线程的类,第一个线程(myThread)是一个在屏幕上显示数字的无限循环,
然而第二个(t2)我需要让第一个线程使用wait()
等待一段时间
以下是代码:
public class ClassA {
public static void main(String[] args) throws InterruptedException {
Thread myThread = new Thread(new Runnable() {
@Override
public void run() {
int i = 0;
while (true) {
System.out.println("I'm B " + i++);
}
}
});
myThread.start();
Thread t2 = new Thread(new Runnable() {
@Override
public void run() {
synchronized (myThread) {
try {
myThread.wait();
} catch (InterruptedException ex) {
System.out.println("Error");
}
}
}
});
t2.start();
System.out.println("I'm class A");
}
}
第一个线程正在经历无限循环,这是正常的,并且主要末尾的“我是A类”字符串正常打印。 但我需要它将第一个线程(myThread)置于等待状态的第二个线程(t2)并没有这样做。 有什么问题?我怎样才能修改代码呢?