newFixedThreadPool
的阻塞队列大小
是没有大小限制
的,如果队列堆积数据太多会造成资源消耗。
newCachedThreadPool
是线程数量
是没有大小限制
的,当新的线程来了直接创建,同样会造成资源消耗殆尽。
也就是说如果执行的job很慢,就尽量不要使用上述2种线程池。相反的,如果处理很快的job,则可以使用。
在新建线程池的时候尽量使用ThreadPoolExecutor
创建,阻塞队列可以使用ArrayBlockingQueue
。
newFixedThreadPool
的阻塞队列大小
是没有大小限制
的,如果队列堆积数据太多会造成资源消耗。
newCachedThreadPool
是线程数量
是没有大小限制
的,当新的线程来了直接创建,同样会造成资源消耗殆尽。
也就是说如果执行的job很慢,就尽量不要使用上述2种线程池。相反的,如果处理很快的job,则可以使用。
在新建线程池的时候尽量使用ThreadPoolExecutor
创建,阻塞队列可以使用ArrayBlockingQueue
。