import lombok.extern.slf4j.Slf4j; import java.util.concurrent.TimeUnit; @Slf4j(topic = "c.BoilWaterAndMakeTea") public class BoilWaterAndMakeTea { public static void main(String[] args) { Thread t1 = new Thread(() -> { log.debug("洗水壶"); sleep(1); log.debug("烧水"); sleep(5); }, "t1"); Thread t2 = new Thread(() -> { log.debug("洗茶壶"); sleep(1); log.debug("洗茶杯"); sleep(1); log.debug("拿茶叶"); sleep(1); try { t1.join(); log.debug("泡茶"); } catch (InterruptedException e) { e.printStackTrace(); } }, "t2"); t1.start(); t2.start(); } private static void sleep(long timeout) { try { TimeUnit.SECONDS.sleep(timeout); } catch (InterruptedException e) { e.printStackTrace(); } } }