ThreadPoolExecutor使用注意
偶然发现一个使用ThreadPoolExecutor潜在的风险
如果设置corePoolSize,maximumPoolSize以及queue大小过小,并且设置的DiscardPolicy,并且配合有返回的Future时有可能会出现无限阻塞,如下代码所示:
public static void main(String[] args) {
ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(1, 1, 100, TimeUnit.SECONDS
, new ArrayBlockingQueue<>(1)