2023年10月31日

BlockingQueue---SynchronousQueue

摘要: 总结 一个特殊的 BlockingQueue 实现。 它并不像其他的 BlockingQueue 实现那样拥有固定的容量,而是设计用于在生产者线程和消费者线程之间直接传递元素; 本身并不存储任何元素,而是要求每一个插入操作(put 或 offer)必须等待一个相应的移除操作(take 或 poll) 阅读全文

posted @ 2023-10-31 10:55 anpeiyong 阅读(2) 评论(0) 推荐(0) 编辑

BlockingQueue---ArrayBlockingQueue

摘要: 总结 队列是有界的,即在创建时必须指定容量,并且该容量是不可变的。 FIFO; 内部使用数组来存储元素,并通过重入锁(ReentrantLock)和条件变量(Condition)来控制并发访问。 特性 有界:队列大小固定,在构造时需要指定。 阻塞:当队列满时,尝试添加元素的操作会被阻塞,直到队列中有 阅读全文

posted @ 2023-10-31 10:31 anpeiyong 阅读(12) 评论(0) 推荐(0) 编辑

BlockingQueue---LinkedBlockingQueue

摘要: 总结 LinkedBlockingQueue 基于链表结构实现,FIFO; 可以是有界的也可以是无界的。如果在构造时没有指定容量,那么它默认是一个无界队列;如果指定了容量,则会创建一个有界队列。 使用ReentrantLock控制并发访问; 特性 可选有界或无界:可以在构造时指定队列的容量来创建有界 阅读全文

posted @ 2023-10-31 10:29 anpeiyong 阅读(6) 评论(0) 推荐(0) 编辑

导航