【并发编程】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挂起线程");

相关推荐

  1. 并发编程ConditionObject

    2024-02-13 02:46:01       58 阅读
  2. C++ 并发编程 | 并发世界

    2024-02-13 02:46:01       64 阅读
  3. Python并发编程

    2024-02-13 02:46:01       62 阅读
  4. epoll并发编程

    2024-02-13 02:46:01       55 阅读
  5. python并发编程

    2024-02-13 02:46:01       59 阅读
  6. 并发编程(一)

    2024-02-13 02:46:01       56 阅读
  7. Golang 并发编程详解

    2024-02-13 02:46:01       57 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-13 02:46:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-13 02:46:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-02-13 02:46:01       87 阅读
  4. Python语言-面向对象

    2024-02-13 02:46:01       96 阅读

热门阅读

  1. 15.实现数组的扁平化

    2024-02-13 02:46:01       52 阅读
  2. mysql底层结构

    2024-02-13 02:46:01       54 阅读
  3. python:xml.etree 生成思维导图 Freemind文件

    2024-02-13 02:46:01       60 阅读
  4. 1306. 跳跃游戏 III

    2024-02-13 02:46:01       54 阅读
  5. 倒计时57天

    2024-02-13 02:46:01       55 阅读
  6. C#系列-C#访问WebAPI(11)

    2024-02-13 02:46:01       50 阅读
  7. Verilog和Verilog-A有什么区别

    2024-02-13 02:46:01       65 阅读
  8. Netty 学习笔记

    2024-02-13 02:46:01       61 阅读
  9. UnityShader——02三大主流编程语言

    2024-02-13 02:46:01       49 阅读