使用Object的wait和notify实现
import java.util.concurrent.atomic.AtomicInteger;
public class test_02 {
AtomicInteger count = new AtomicInteger(1);
public void test(){
new Thread(() ->{//打印奇数
synchronized(this){
try {
while (count.get() %2 == 0 ){
this.wait();
}
System.out.println("AA" +count.get());
count.incrementAndGet();
this.notify();//通过打印偶数
}catch (Exception e){
System.out.println("发生异常。。。");
}
}
}).start();
new Thread(() ->{//打印偶数
synchronized(this){
try {
while (count.get() %2 == 1){
this.wait();
}
System.out.println("BB"+count.get());
count.incrementAndGet();
this.notify();
}catch (Exception e){
System.out.println("发生异常。。。");
}
}
}).start();
}
public static void main(String[] args) {
test_02 test_01 = new test_02();
//循环100次
for (int index = 0; index <1000;index++){
test_01.test();
}
}
}