您当前的位置: 首页 > 

Dongguo丶

暂无认证

  • 2浏览

    0关注

    472博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

线程间通信Lock的awaitsignal

Dongguo丶 发布时间:2021-09-10 15:22:26 ,浏览量:2

JUC中提供了Condition对象, 用于让指定线程等待与唤醒, 按照预期顺序执行, 它必须和ReentrantLock重入锁配合使用

Conddition用于替代wait() / notify()方法

notify 只能随机唤醒等待的线程, 而Condition可以唤醒指定的线程, 这样有利于更好的控制并发程序

Condition核心方法

await() - 阻塞当前线程, 直到signal唤醒

signal() - 唤醒被await的线程, 从中断处继续执行

signalAll() - 唤醒所有被await() 阻塞的线程

package com.dongguo.concurrent.lock;

import java.util.concurrent.locks.Condition;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;

/**
 * @author Dongguo
 * @date 2021/9/3 0003-14:36
 * @description: Lock实现生产者消费者
 */
public class ThreadLockUnlockDemo {
    public static void main(String[] args) {
        Number number = new Number();
        new Thread(() -> {
            for (int i = 0; i  {
            for (int i = 0; i  {
            for (int i = 0; i  {
            for (int i = 0; i             
关注
打赏
1638062488
查看更多评论
0.0373s