ThreadPoolExecutor+BlockingQueue执行耗时任务需要注意的地方

ThreadPoolExecutor+BlockingQueue执行耗时任务,线程池中的线程可以复用,超过线程池maximumPoolSize的任务可以在阻塞队列BlockingQueue中等待。

任务应该是同步操作的任务,这样才有阻塞,不会一拥而上。

如果是耗时任务,并且是异步任务,那么没有阻塞,会一瞬间都执行完毕(线程池的线程都复用过),所有任务都会运行,但是前面的几个任务耗时操作并没有瞬间完成,造成后面的任务超时或者别的问题。

猜你喜欢

转载自ccsosnfs.iteye.com/blog/2419817