使用 ThreadPool :
示例:
// 1. 创建线程池
ExecutorService service = Executors.newCachedThreadPool();
// 2. 创建任务
Runnable task = new Runnable() {
@Override
public void run() {
System.out.println(Thread.currentThread());
}
};
// 3. 使用线程池启动任务
for (int i = 0; i < 1000; i++) {
service.execute(task);
}
简写法:
//创建4个固定的线程池
ExecutorService sd = Executors.newFixedThreadPool(4);
for (int i = 0; i <100 ; i++) {
//创建任务 并 执行 任务 (简写法)
sd.execute(new Runnable() {
@Override
public void run() {
System.out.println(Thread.currentThread().getId());
}
});
}
正常写法:
//创建固定的线程池
ExecutorService sd = Executors.newFixedThreadPool(4);
//创建任务
Runnable task = new Runnable() {
@Override
public void run() {
System.out.println(Thread.currentThread().getId());
}
};
//使用线程池启动任务
for (int i = 0; i <10 ; i++) {
sd.execute(task);
}