1 锁 + wait + notify
public class PrintTwoThreads {
private static int i = 0;
private static final Integer mtx = 0;
private static final int MAX_PRINT_NUMBER = 9;
public static void main(String[] args) {
new Thread(() -> {
while(i <= MAX_PRINT_NUMBER) {
synchronized (mtx) {
if ((i & 1) == 1) {
try {
mtx.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
} else {
System.out.println("Thread1: " + i++);
mtx.notify();
}
}
}
}).start();
new Thread