线程池的特点是提供一个线程队列,队列中保存着所有等待状态的线程。避免了创建与销毁额外开销,提高了响应速度。那么在操作代码的时候我们又该如何使用线程池呢?一起来看看吧。
线程池的所有类在java.util.concurrent.Executor:负责线程的使用与调度的根接口
创建固定大小线程池
ExecutorService executorService = Executors.newFixedThreadPool(5);
为线程池的线程分配任务
executorService.submit(new Thread(new Runnable() {
@Override
public void run() {
System.out.println("------------");
}
}));
关闭线程池
executorService.shutdown();
线程池执行Callable线程
Future
public Integer call() throws Exception {
int sum = 0;
for (int i = 0; i < 100; i++) {
sum += i;
}
return sum;
}
});
得到程序的返回结果
Integer sum = future.get();
在线程池中提交十个线程执行程序。
List
for (int i = 0; i < 10; i++) {
Future
public Integer call() throws Exception {
int sum = 0;
for (int i = 0; i < 100; i++) {
sum += i;
}
return sum;
}
});
list.add(future);
}
填写下面表单即可预约申请免费试听java课程!害怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!
一级建造师二级建造师消防工程师造价工程师土建职称房地产经纪人公路检测工程师建筑八大员注册建筑师二级造价师监理工程师咨询工程师房地产估价师 城乡规划师结构工程师岩土工程师安全工程师设备监理师环境影响评价土地登记代理公路造价师公路监理师化工工程师暖通工程师给排水工程师计量工程师
执业药师执业医师卫生资格考试卫生高级职称护士资格证初级护师主管护师住院医师临床执业医师临床助理医师中医执业医师中医助理医师中西医医师中西医助理口腔执业医师口腔助理医师公共卫生医师公卫助理医师实践技能内科主治医师外科主治医师中医内科主治儿科主治医师妇产科医师西药士/师中药士/师临床检验技师临床医学理论中医理论