随笔分类 -  JavaSE---BlockingQueue

BlockingQueue---DelayQueue
摘要:总结 一个无界阻塞队列; FIFO; 只包含实现了 Delayed 接口的元素,每个元素都有一个延迟时间,在该延迟时间结束之前,该元素不会从队列中可用。一旦元素的延迟到期,它就可以被取出了,并且取出的顺序是按照延迟到期的时间先后进行的。 通常用于实现定时任务调度、缓存过期等场景。例如,可以用来管理超 阅读全文

posted @ 2024-09-20 10:13 anpeiyong 阅读(4) 评论(0) 推荐(0) 编辑

BlockingQueue---PriorityBlockingQueue
摘要:总结 一个无界的并发队列。 FIFO; 按照元素的优先级顺序来处理元素。这种队列非常适合需要按照优先级处理任务的场景。 特性 无界:默认情况下是无界的,可以存储任意数量的元素。 基于优先级:队列中的元素根据它们的自然顺序或者由构造时提供的 Comparator 来排序。 线程安全:支持多线程同时进行 阅读全文

posted @ 2024-09-19 17:25 anpeiyong 阅读(8) 评论(0) 推荐(0) 编辑

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

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

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

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

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

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

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示