** * 阻塞队列: * 当队列时空的,从队列中获取元素的操作将会被阻塞 * 当队列是满的,从队列中添加元素的操作将会被阻塞 * ArrayBlockingQueue:有数组结构组成的有界阻塞队列 * LinkedBlockingQueue:由链表结构组成的有界(但大小默认为Integer.MAX_... ...
分类:
其他好文 时间:
2019-10-12 17:15:34
阅读次数:
79
java中创建线程池的方式一般有两种: 通过Executors工厂方法创建 通过new ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue ...
分类:
编程语言 时间:
2019-10-11 18:48:36
阅读次数:
272
先来说BlockingQueue的核心方法: 1、放入数据 (1) add(object) 队列没满的话,放入成功。否则抛出异常。 (2)offer(object): 表示如果可能的话,将object加到BlockingQueue里,即如果BlockingQueue可以容纳,则返回true,否则返回 ...
分类:
其他好文 时间:
2019-09-24 10:36:59
阅读次数:
78
ThreadPoolExecutor的几个重要属性 BlockingQueue workQueue 阻塞队列。存放将要执行的任务 HashSet workers 当前线程池的线程集合。下文会重点介绍Worker这个内部类 corePoolSize 核心线程数 maximumPoolSize 最大线程 ...
分类:
编程语言 时间:
2019-09-20 18:35:56
阅读次数:
100
BlockingQueue接口和线程池 BlockingQueue接口 它有四套api,add/remove操作失败会直接抛出异常,offer/poll操作失败会返回特殊值,还可以加时间,过了时间返回失败,put/take操作失败会阻塞。 ArrayBlockingQueue:是数组实现的,必须构造 ...
分类:
编程语言 时间:
2019-09-19 13:57:22
阅读次数:
65
1.容器 接口:BlockingDeque,BlockingQueue, 2.锁 3.流程控制 4.线程池 ...
分类:
编程语言 时间:
2019-09-04 18:50:59
阅读次数:
73
介绍 阻塞队列(BlockingQueue)是指当队列满时,队列会阻塞插入元素的线程,直到队列不满;当队列空时,队列会阻塞获得元素的线程,直到队列变非空。阻塞队列就是生产者用来存放元素、消费者用来获取元素的容器。 当线程 插入/获取 动作由于队列 满/空 阻塞后,队列也提供了一些机制去处理,或抛出异 ...
分类:
编程语言 时间:
2019-09-04 10:05:24
阅读次数:
79
本篇将详细介绍BlockingQueue,以下是涉及的主要内容: BlockingQueue的核心方法 阻塞队列的成员的概要介绍 详细介绍DelayQueue、ArrayBlockingQueue、LinkedBlockingQueue的原理 线程池与BlockingQueue 1、初识阻塞队列 在 ...
分类:
其他好文 时间:
2019-08-20 18:45:09
阅读次数:
74
BlockingQueue BlockingQueue、解决了多线程中,如何高效安全“传输”数据的问题。程序员无需关心什么时候阻塞线程,什么时候唤醒线程,该唤醒哪个线程。 方法介绍 BlockingQueue是Queue的子类 void put(E e) 插入指定元素,当BlockingQueue为 ...
分类:
编程语言 时间:
2019-08-08 18:53:58
阅读次数:
93
PriorityBlockingQueue 带优先级的无界的阻塞队列 package com.dh.learn.queue; import java.util.concurrent.BlockingQueue; import java.util.concurrent.PriorityBlocking... ...
分类:
其他好文 时间:
2019-07-31 13:17:24
阅读次数:
89