# park & unpark
注意
park & unpark 属于是java.util.concurrent.locks里的包
import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.LockSupport;
@Slf4j
public class Demo {
    public static void main(String[] args) throws InterruptedException {
        Thread thread = new Thread(() -> {
            log.info("park");
            try {
                TimeUnit.SECONDS.sleep(3);
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
            LockSupport.park();
            log.info("un parK");
        }, "t1");
        thread.start();
        log.info("main");
        TimeUnit.SECONDS.sleep(2);
        //如果先调用的unpark,那么在thread是不会阻塞的
        LockSupport.unpark(thread);
    }
}
← wait & notify 线程状态 →