ThreadPoolExecutor+BlockingQueue执行耗时任务,线程池中的线程可以复用,超过线程池maximumPoolSize的任务可以在阻塞队列BlockingQueue中等待。
任务应该是同步操作的任务,这样才有阻塞,不会一拥而上。
如果是耗时任务,并且是异步任务,那么没有阻塞,会一瞬间都执行完毕(线程池的线程都复用过),所有任务都会运行,但是前面的几个任务耗时操作并没有瞬间完成,造成后面的任务超时或者别的问题。
ThreadPoolExecutor+BlockingQueue执行耗时任务需要注意的地方
猜你喜欢
转载自ccsosnfs.iteye.com/blog/2419817
今日推荐
周排行