Java BlockingQueue接口
2024年04月21日
本文聊一聊 JUC 下的另一个阻塞队列 ArrayBlockingQueue,先说一下 ArrayBlockingQueue 的特点,如果你没时间的话,看玩 特点就可以溜了,ArrayBlockingQueue 有以下几个特点:
2024年04月21日
PriorityBlockingQueue简介
PriorityBlockingQueue 是带优先级的无界阻塞队列,在内部使用二叉树堆维护元素优先级,使用数组作为元素存储的数据结构,这个数组是可扩容的。出队时始终保证出队的元素是堆树的根节点,而不是在队列里面停留时间最长的元素。使用元素的 compareTo 方法提供默认的元素优先级比较规则,用户也可以自定义优先级的比较规则。
2024年04月21日
在JUC包下提供了很多线程安全的队列,通常称之为阻塞队列。这些阻塞队列在线程池中的应用十分广泛,搞懂阻塞队列的实现原理,对平时使用阻塞队列会有很大帮助。本文将结合源码主要分析下LinkedBlockingQueue这个阻塞队列的实现原理。
2024年04月21日
很多线程问题可以使用一个或多个队列以优雅而安全的方式来解决。生产者线程向队列插入元素,消费者线程则获取元素。使用队列,可以安全地从一个线程向另一个线程传递数据。例如,考虑银行转账程序,转账线程可以将转账指令对象插入一个队列,而不是直接访问银行对象。另一个线程从队列中取出指令并完成转账。只有这个线程可以访问银行对象的内部。因此不需要同步。(当然,线程安全的队列类的实现者必须考虑锁和条件,但那是他们的问题,而不是你要考虑的问题。)
2024年04月21日
有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准