在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java/ java executorservice shutdown后如何再開啟么

java executorservice shutdown后如何再開啟么

private static final ExecutorService pool = Executors.newFixedThreadPool(threads);

 pool.execute(new Runnable() {
            @Override
            public void run() {
                try {
                    TimeUnit.SECONDS.sleep(30);
                    System.out.println(1);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        });
        
pool.shutdown();
pool.awaitTermination(60,TimeUnit.SECONDS);

//關(guān)閉之后我 會報錯
//Exception in thread "main" java.util.concurrent.RejectedExecutionException
executorService.execute(new Runnable() {
            @Override
            public void run() {
                System.out.println(2);
            }
        });

原因是shutdown之后線程池?zé)o法再提交任務(wù)。有沒有方法讓這個線程池再打開呢?

回答
編輯回答
淡墨

建議使用CountDownLatch 倒數(shù)關(guān)閉
這種強制關(guān)閉其實是不優(yōu)雅的關(guān)閉方式=.=

2018年2月12日 12:32
編輯回答
病癮

沒有,這是ExecutorService接口明確規(guī)定的,關(guān)閉后不允許再打開。

2018年6月29日 18:47