请问线程池配置中的QueueCapacity队列大小如何设置?
来源:2-13 方法引用精讲

fly_烟雨行舟
2021-12-14
老师,请问线程池配置中的QueueCapacity队列大小如何设置?
在网上搜了一下,不少文章说这个队列大小不能直接设置成Integer.MAX_VALUE,而且阿里开发手册也明确提到这一点不能直接设置成最大,因为在有些情况下是有可能导致线上OOM的情况。
请问这个队列大小的设置有什么讲究吗,应该比核心线程数小呢还是比它高几倍呢,这一点一直没明白,所以在线上一直不敢使用。
写回答
1回答
-
张小喜
2021-12-14
这个跟核心数没多大关系 要根据业务的请求量 其实这个Q就是一个缓冲区 把线程没时间处理的任务暂时缓存 所以要根据实际业务 比如业务会有瞬时的大并发量 这个就要设置大点 来应对 如果业务很平稳 就设置平稳量的三四倍就好
00
相似问题