并发编程
小狐狸Rosie
小狐狸Rosie只爱看书撸代码
展开
-
ArrayBlockingQueue源码解析,付出入队流程图
概述ArrayBlockingQueue是一个基于数组实现的有界阻塞队列。遵循先进先出FIFO原则对元素进行排序,元素都是从尾部入队,头部出队。1、数据结构基于数组的阻塞队列,必须设置长度,元素不允许为空,先进先出。2、原理ArrayBlockingQueue,读写用一把锁,也就意味着所有加锁操作都是互斥的。当队列已满时,put线程会阻塞,当队列为空时,take线程会阻塞。3、源码解读...原创 2020-02-26 14:01:19 · 492 阅读 · 0 评论 -
LinkedBlockingQueue源码解读,附出队入队详细流程图
概述LinkedBlockingQue是一个基于链表实现的可设置容量的无界(最大值Integer.MAX_VALUE)阻塞队列。队头的元素是插入时间最长的,队尾的元素是最新插入的。新的元素将会被插入到队列的尾部。1、数据结构基于链表,所以队列中至少有一个空元素,头结点不含元素。2、原理LinkedBlockingQueue中有两把锁,takeLock和putLock,即读写各一把锁。这就...原创 2020-02-26 01:51:10 · 900 阅读 · 0 评论 -
Centos7、Erlang-21.3、RabbitMQ-3.8.0安装
1.购买阿里云 centos 7.x2.安装依赖**第一步:**执行命令yum -y install wget,然后会出现**第二步:**安装依赖 yum install gcc glibc-devel make ncurses-devel openssl-devel xmlto socat3、erlang安装第一步:下载epel-release①服务器直接下载(速度慢): wg...原创 2020-02-23 10:48:34 · 3070 阅读 · 0 评论