您当前的位置: 首页 >  Java

小志的博客

暂无认证

  • 2浏览

    0关注

    1217博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Java并发多线程编程——Condition接口的理解及使用

小志的博客 发布时间:2021-05-24 21:48:57 ,浏览量:2

目录
    • 一、Condition接口的理解
    • 二、Condition接口结构及常用方法
    • 三、使用Object类中的wait()、notifyAll()实现多个线程按顺序执行示例
    • 四、使用Condition接口中的await()、signal()现多个线程按顺序执行示例

一、Condition接口的理解
  • Condition是个接口,基本的方法就是await()和signal()方法;
  • Condition用来替代传统的Object的wait()、notify()实现线程间的协作。相比使用Object的wait()、notify(),使用Condition的await()、signal()这种方式实现线程间协作更加安全和高效; - Condition对象是依赖于lock对象的,也就是说condition对象需要通过lock对象进行创建出来; 调用Condition的await()和signal()方法,都必须在lock保护之内,就是说必须在lock.lock()和lock.unlock之间才可以使用。
二、Condition接口结构及常用方法

在这里插入图片描述

  • await() :造成当前线程在接到信号或被中断之前一直处于等待状态。
  • awaitUninterruptibly() :造成当前线程在接到信号之前一直处于等待状态。【注意:该方法对中断不敏感】。
  • awaitNanos(long nanosTimeout) :造成当前线程在接到信号、被中断或到达指定等待时间之前一直处于等待状态。返回值表示剩余时间,如果在nanosTimesout之前唤醒,那么返回值 = nanosTimeout - 消耗时间,如果返回值
关注
打赏
1661269038
查看更多评论
立即登录/注册

微信扫码登录

0.0541s