创建好多个线程,放入线程池中,使用时直接获取,使用完放回池中。可以避免频繁创建销毁、实现重复利用。
目录
线程池创建线程的优点
1. 提高响应速度,减少创建新线程的时间
2. 降低资源消耗,即重复利用线程池中线程,不需要每次都创建
3. 便于线程管理
线程池代码举例
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
class NumberThread implements Runnable{
@Override
public void run() {
for (int i = 1; i <= 100; i++) {
if (i % 2 == 0) {
System.out.println(Thread.currentThread().getName() + ":" + i);
}
}
}
}
class NumberThread1 implements Runnable{
@Override
public void run() {
for (int i = 1; i <= 100; i++) {
if (i % 2 != 0) {
System.out.println(Thread.currentThread().getName() + ":" + i);
}
}
}
}
public class ThreadPool {
public static void main(String[] args) {
//1. 执行指定线程数量的线程池
ExecutorService service = Executors.newFixedThreadPool(10);
//2. 执行指定的线程操作,需要提供实现 Runnable 接口或 Callable 接口实现类的对象
service.execute(new NumberThread()); //适用于 Runnable
service.execute(new NumberThread1()); //适用于 Runnable
// service.submit(Callable callable); 适用于 Callable
//3. 关闭线程池
service.shutdown();
}
}
多线程创建的其它方式:
【Java笔记】多线程的创建与使用(Thread与Runnable)_lijibai.的博客-CSDN博客
【Java笔记】实现Callable接口创建线程:https://blog.csdn.net/lijibai_/article/details/123830223