【并发编程】ConditionObject

目录

1、 conditionObject 的介绍&应用

2、Condition的构建方式&核心属性

2.1 condition 中的核心属性

3、await 方法

3.1 addConditionWaiter

3.2 unlinkCancelledWaiters

3.3 fullyRelease

4、signal方法分析

4.1 doSignal

4.2 transferForSignal

5、await 再分析

5.1 await

5.2 checkInterruptWhileWaiting

5.3 transferAfterCancelledWait

5.4 isOnSyncQueue

5.5 findNodeFromTail

5.6 reportInterruptAfterWait


1、 conditionObject 的介绍&应用

ReentrantLock 提供了同synchronized(wait 和 notify)类似的功能 ,await及signal

想要执行await 和 signal ,必须先要有lock锁资源

public static void main(String[] args) throws InterruptedException, IOException {
    ReentrantLock lock = new ReentrantLock();
    Condition condition = lock.newCondition();

    new Thread(() -> {
        lock.lock();
        System.out.println("子线程获取锁资源并await挂起线程");

你可能感兴趣的:(并发编程,java,开发语言)