扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
使用wait()和notify()实现Java多线程通信:两个线程交替打印A和B,如ABABAB

public class Test {
public static void main(String[] args) {
final PrintAB print = new PrintAB();
new Thread(new Runnable() {
public void run(){
for(int i=0;i<5;i++) {
print.printA();
}
}
}).start();
new Thread(new Runnable() {
public void run() {
for(int i=0;i<5;i++) {
print.printB(); }
}
}).start();
}
}
class PrintAB{
private boolean flag = true;
public synchronized void printA () {
while(!flag) {
try {
this.wait();
} catch (InterruptedException e) {
e.printStackTrace();
} }
System.out.print("A");
flag = false;
this.notify();
}
public synchronized void printB () {
while(flag) {
try {
this.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.print("B");
flag = true;
this.notify(); }
} 
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流