030 线程辅助类---LockSupport

一 . 概述

  在之前的Thread类之中有线程挂起和停止等操作,但是这些方法都被废弃了.

  在JUC之中,提供了LockSupports类可以完成线程的挂起等操作了.


二 .例子  

public class SupportTest {

    public static void main(String[] args) throws Exception {
        Thread thread = new Thread(new Runnable() {
            @Override
            public void run() {
                System.out.println("线程启动了");
                //线程挂起
                LockSupport.park();
                for (;;)
                    System.out.println("thread is running");
            }
        });
        thread.start();
        
        Thread.sleep(3000);
        //线程开启
        LockSupport.unpark(thread);
    }
}

在这个例子中,我们使用park()方法挂起了当前的线程,因此子线程在打印了线程启动之后就被挂起了.

  主线程在3秒之后就重启开启了该线程.


三.作用

  我们可以使用LockSupport类完成线程的挂起等操作,可以认为是之前Thread的 类被方法的一个补充.

原文地址:https://www.cnblogs.com/trekxu/p/9011411.html