大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
1、创建一个WorkerThread类,表示执行任务
public class WorkerThread implements Runnable {
@Override
public void run() {
System.out.println("当前时间:" + System.currentTimeMillis() + " 线程名称:"
+ Thread.currentThread().getName() + " 状态: start work...");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("当前时间:" + System.currentTimeMillis() + " 线程名称:"
+ Thread.currentThread().getName() + " 状态: end work...");
}
}
2、创建ExecutorService,并提交10个任务(线程池有5个固定的线程)
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class ThreadPoolTest {
public static void main(String[] args) {
System.out.println("开启线程池...");
ExecutorService executorService = Executors.newFixedThreadPool(5);
for (int i = 0; i < 10; i++) {
Runnable worker = new WorkerThread();
executorService.execute(worker);
}
try {
Thread.sleep(5000);//主线程休眠5秒,便于观察
} catch (InterruptedException e) {
e.printStackTrace();
}
executorService.shutdown();
System.out.println("线程池运行结束...");
}
}
3、Executors中的静态方法来创建一个线程池:
newFixedThreadPool:创建一个固定长度的线程池
newCachedThreadPool:创建一个可缓存的线程池,长度随着需求的变化而变化,线程池的规模不存在任何限制。
newSingleThreadExecutor:是一个单线程的Executor。
newScheduledThreadPool:创建一个固定长度的线程池,而且以延迟或定时的方式来执行任务。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/195210.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...