" 返回《C 并发编程》" "1. 简介" "2. 不可变栈和队列" "3. 不可变列表" "4. 不可变Set集合" "5. 不可变字典" "6. 线程安全字典" "7. 阻塞队列" "8. 阻塞栈和包" "9. 异步队列" "10. 异步栈和包" "11. 阻塞/异步队列" 1. 简介 + 不可 ...
分类:
编程语言 时间:
2020-02-01 12:35:17
阅读次数:
65
阻塞队列各实现类 |类|说明| |: |: | |ArrayBlockingQueue|由数组结构组成的有界阻塞队列| |LinkedBlockingQueue|由链表结构组成的有界阻塞队列(默认容量为Integer.MAX_VALUE)| |PriorityBlockingQueue|支持优先级排 ...
分类:
编程语言 时间:
2020-01-24 21:17:19
阅读次数:
97
生产者消费者模型 [目的] 解决并发编程中的绝大部分并发问题 【组成要素】 生产者:负责生产数据或任务 消费者:负责消费数据或者任务 容器:生产者和消费者进行通讯的媒介(阻塞队列)来达到解耦目的 [主要方法] 容器:q=queue.Queue() 生产者:q.put(product/tack) q. ...
分类:
其他好文 时间:
2020-01-23 14:10:40
阅读次数:
82
BlockingQueue的继承结构 BlockingQueue是线程安全的阻塞队列,当队列为空时,拉取队列的线程会等待队列中重新有元素;当队列满时,添加元素的线程会等待队列有空位储存新元素。BlockingQueue的继承接口如下: 生产者-消费者模式 ArrayBlokingQueue实现类需要 ...
分类:
编程语言 时间:
2020-01-20 18:50:01
阅读次数:
106
ArrayBlockingQueue 是数组实现的有界阻塞队列,此队列按照先进先出(FIFO)的原则对元素进行排序。 构造方法: public ArrayBlockingQueue(int capacity) { this(capacity, false); } public ArrayBlocki ...
分类:
其他好文 时间:
2020-01-18 19:34:05
阅读次数:
122
阻塞队列BlockingQueue是一个接口,基于ReentrantLock ,依据它的基本原理,我们可以实现Web中二段长连接聊天功能,当然其最常用的还是用于实现生产者和消费者模式: BlockingQueue接口提供了以下方法: package java.util.concurrent; imp ...
分类:
其他好文 时间:
2020-01-18 18:03:07
阅读次数:
113
一、ArrayBlockingQueue概述 ArrayBlockingQueue是java并发包下一个以数组实现的阻塞队列,它是线程安全的 public class ArrayBlockingQueue<E> extends AbstractQueue<E> implements Blocking ...
分类:
编程语言 时间:
2020-01-16 00:46:16
阅读次数:
85
@async 方法上添加该注解实现异步调用的原理 在我们使用spring框架的过程中,在很多时候我们会使用@async注解来异步执行某一些方法,提高系统的执行效率。今天我们来探讨下 spring 是如何完成这个功能的。 spring 在扫描bean的时候会扫描方法上是否包含@async的注解,如果包 ...
分类:
编程语言 时间:
2020-01-14 13:03:43
阅读次数:
92
阻塞队列 如果我们想要在线程安全的场景下使用队列,只有两个选择,一个是上面讲过的 ConcurrentLinkedQueue,还有就是我们要将的阻塞队列。 从名字我们就可以判断出阻塞队列适用的场景,那就是生产者消费者模式。阻塞对垒的添加和删除操作在队列满或者空的时候会被阻塞。这就保证了线程安全。 阻 ...
分类:
编程语言 时间:
2020-01-12 21:50:31
阅读次数:
74
数据结构概述数据结构的主要任务是通过分析数据对象的结构特征,包括逻辑结构及数据对象之间的关系,然后把逻辑结构表示成计算机课实现的物理结构,从而便于计算机处理。1.1 概念术语(1)数据(Data)是能被计算机处理的符号或符号集合,含义广泛,可理解为“原材料”。如字符、图片、音视频等。(2)数据元素( ...
分类:
其他好文 时间:
2020-01-11 22:23:28
阅读次数:
97