同步队列:SynchronousQueue,零容量的SynchronousQueue,一进一出,避免队列里缓冲数据,这样在系统异常关闭时,就能排除因为阻塞队列丢消息的可能
SynchronousQueue没有容量,是无缓冲等待队列,是一个不存储元素的阻塞队列。
使用SynchronousQueue阻塞队列一般要求maximumPoolSizes为无界(Integer.MAX_VALUE),避免线程拒绝执行操作。
风险:机器线程耗尽,导致宕机
SynchronousQueue是一个特殊的阻塞队列,它不存储元素,实现了一进一出的同步通信。这种无缓冲的特性使得在系统异常关闭时能避免丢消息。然而,这也带来了风险,如当maximumPoolSizes设置不当可能导致线程耗尽,从而引起宕机。因此,使用时需谨慎配置以确保线程池大小,以防止系统稳定性受影响。
同步队列:SynchronousQueue,零容量的SynchronousQueue,一进一出,避免队列里缓冲数据,这样在系统异常关闭时,就能排除因为阻塞队列丢消息的可能
SynchronousQueue没有容量,是无缓冲等待队列,是一个不存储元素的阻塞队列。
使用SynchronousQueue阻塞队列一般要求maximumPoolSizes为无界(Integer.MAX_VALUE),避免线程拒绝执行操作。
风险:机器线程耗尽,导致宕机
1043