创建JAVA线程池时,有哪些关键注意事项需留意?
- 内容介绍
- 文章标签
- 相关推荐
本文共计808个文字,预计阅读时间需要4分钟。
创建线程或线程池时,请指定具有意义的线程名称,方便出错时回溯。创建线程池时,请使用带`ThreadFactory`的构造函数,并提供自定义的`ThreadFactory`实现或第三方实现。例如:
java// 指定线程名称Thread thread=new Thread(new Runnable() { @Override public void run() { // 线程执行逻辑 }}, MyThreadName);
// 创建线程池ExecutorService pool=new ThreadPoolExecutor( // 核心线程数 4, // 最大线程数 8, // 非核心线程的空闲存活时间 60L, TimeUnit.SECONDS, // 工作队列 new LinkedBlockingQueue(), // 线程工厂 new CustomThreadFactory());
// 使用自定义ThreadFactoryclass CustomThreadFactory implements ThreadFactory { @Override public Thread newThread(Runnable r) { Thread t=new Thread(r); // 设置线程名称 t.setName(CustomThreadFactory- + r.toString()); return t; }}
1、创建线程或线程池时请指定有意义的线程名称,方便出错时回溯。
本文共计808个文字,预计阅读时间需要4分钟。
创建线程或线程池时,请指定具有意义的线程名称,方便出错时回溯。创建线程池时,请使用带`ThreadFactory`的构造函数,并提供自定义的`ThreadFactory`实现或第三方实现。例如:
java// 指定线程名称Thread thread=new Thread(new Runnable() { @Override public void run() { // 线程执行逻辑 }}, MyThreadName);
// 创建线程池ExecutorService pool=new ThreadPoolExecutor( // 核心线程数 4, // 最大线程数 8, // 非核心线程的空闲存活时间 60L, TimeUnit.SECONDS, // 工作队列 new LinkedBlockingQueue(), // 线程工厂 new CustomThreadFactory());
// 使用自定义ThreadFactoryclass CustomThreadFactory implements ThreadFactory { @Override public Thread newThread(Runnable r) { Thread t=new Thread(r); // 设置线程名称 t.setName(CustomThreadFactory- + r.toString()); return t; }}
1、创建线程或线程池时请指定有意义的线程名称,方便出错时回溯。

