两个线程读写同一个队列 java多线程为什么不推荐使用excutor执行?
浏览量:1306
时间:2021-03-12 01:39:12
作者:admin
java多线程为什么不推荐使用excutor执行?
Java中BlockingQueue有两种主要实现:arrayblockingqueue和linkedblockingqueue。Arrayblockingqueue是由array实现的有界阻塞队列,必须设置其容量。linkedblockingqueue是由链表实现的有界阻塞队列。容量可选择性设置。如果不设置,它将是一个无限长的阻塞队列,最大长度为Integer.MAX[value.
查看new singleexecutor的源代码,您可以发现在创建linkedblockingqueue时没有指定容量。此时,linkedblockingqueue是一个无边界队列。对于无边界队列,任务可以连续添加到队列中。在这种情况下,由于任务太多,可能会发生内存溢出。
两个线程读写同一个队列 线程池队列满了怎么办 多线程并发队列实现
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。