java高并发、多线程(八)–LockSupport.park()会释放锁吗?

  • Post author:
  • Post category:java


java高并发、多线程(八)

public class LockSupportTest {
    
    public synchronized void m1(){
        System.out.println("m1 start");
        LockSupport.park();
        System.out.println("m1 end");
    }

    public synchronized void m2(){
        System.out.println("m2 start");
        System.out.println("m2 end");
    }

    public static void main(String[] args) {
        LockSupportTest lt = new LockSupportTest();
        Thread t1 = new Thread(lt::m1, "Thread-1");
        Thread t2 = new Thread(lt::m2, "Thread-2");
        t1.start();
        try {
            Thread.sleep(2000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        t2.start();
        try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("唤醒t1");
        LockSupport.unpark(t1);
    }
}

运行结果:

在这里插入图片描述

结论:

LockSupport.park()不会释放锁资源



版权声明:本文为little_programmer_原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。