Skip to content

Latest commit

 

History

History
22 lines (8 loc) · 877 Bytes

File metadata and controls

22 lines (8 loc) · 877 Bytes

《19、你知道如果线程池的队列满了之后,会发生什么事情吗?》

有界队列,可以避免内存溢出

corePoolSize: 10

maximumPoolSize : 200

ArrayBlockingQueue(200)

自定义一个reject策略,如果线程池无法执行更多的任务了,此时建议你可以把这个任务信息持久化写入磁盘里去,后台专门启动一个线程,后续等待你的线程池的工作负载降低了,他可以慢慢的从磁盘里读取之前持久化的任务,重新提交到线程池里去执行

你可以无限制的不停的创建额外的线程出来,一台机器上,有几千个线程,甚至是几万个线程,每个线程都有自己的栈内存,占用一定的内存资源,会导致内存资源耗尽,系统也会崩溃掉

即使内存没有崩溃,会导致你的机器的cpu load,负载,特别的高