创建一个线程池
ThreadPoolExecutor executor = new ThreadPoolExecutor(2, 10, 5, TimeUnit.SECONDS, new SynchronousQueue<>(),new MyThreadFactory("wangjg"));
再创建一个线程
Runnable myRunnable = new Runnable() {
@Override
public void run() {
try {
Thread.sleep(2000);
System.out.println(Thread.currentThread().getName() + " run");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
};
再将线程提交到线程池中
Future<?> submit = executor.submit(myRunnable);
问几个问题:
1、在线程执行完成后jvm进程任然还在,指到shutdown后才会停止,那么后面再需要使用线程池又必须重新new一个了,是这样的吗?
2、和第一个类似,在日常开发工作中,线程池是通用一个的,还是各自开发自己new一个线程池,如果是共用的,那么什么时候执行shutdown?