Huazie

一半诗意 一半烟火

引言

同步工具类可以是任意一个对象,只要它根据其自身的状态来协调线程的控制流。阻塞队列可以作为同步工具类,类似地还有信号量(Semaphore)栅栏(Barrier)以及闭锁(Latch)。当然 Java 平台类库中还有其他的一些同步工具类,如果这些都不能满足要求,那我们还可以创建自己的同步工具类【这块内容将在后续的博文中会介绍】。

同步工具类封装了一些状态,这些状态将决定执行同步工具类的线程是继续执行还是等待,此外还提供了一些方法对状态进行操作,以及另一些方法用于高效地等待同步工具类进入到预期状态。

阅读全文 »

引言

介绍阻塞队列之前,先来介绍下队列 QueueQueue 用来临时保存一组等待处理的元素。它提供了几种非阻塞队列实现,如下:

  • ConcurrentLinkedQueue,这是一个传统的先进先出队列。
  • PriorityQueue,这是一个(非并发的)优先队列。

如上两个队列的操作不会阻塞,如果队列为空,那么获取元素的操作将返回空值。

阅读全文 »
0%