| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 
 | package com.redisc;
 import lombok.extern.slf4j.Slf4j;
 
 @Slf4j(topic = "c.Run")
 public class Run {
 
 static final Object lock = new Object();
 // 表示 t2 是否运行过
 static boolean t2runned = false;
 
 public static void main(String[] args) throws Exception {
 
 Thread t1 = new Thread(() -> {
 synchronized (lock) {
 while (!t2runned) {
 try {
 lock.wait();
 } catch (InterruptedException e) {
 e.printStackTrace();
 }
 }
 log.debug("1");
 }
 }, "t1");
 
 Thread t2 = new Thread(() -> {
 synchronized (lock) {
 log.debug("2");
 t2runned = true;
 lock.notify();
 }
 }, "t2");
 
 t1.start();
 t2.start();
 
 }
 
 }
 
 |