Executors.newSingleThreadExecutor()创建的是一个拥有一个线程的线程池,
这里面永远有一个线程,这个线程执行完之后,不会死亡,而是有重新放到线程池中,等待执行下一个线程,所以该线程池不关闭,程序不会结束
ExecutorService pool = Executors.newSingleThreadExecutor();
pool.execute(......);
pool.shutdown(); // 关闭线程池
关闭线程池之后程序才会结束,这是我的理解,有不同理解的可以探讨。 |
|