java线程池的使用(新手)
来源:互联网 发布:中老年妈妈装淘宝网 编辑:程序博客网 时间:2024/06/14 04:57
一、为什么使用线程池
程序在启动一个新线程时所需成本是比较高的,因为它要与操作系统进行交互,使用线程池可以很好的提高性能,尤其是程序中存在大量的生存周期很短的线程时,这时就应该用到线程池。
二、线程池的特点
1.线程池里的线程代码结束后并不会死亡,而是再次回到线程池中成为空闲状态,等待下一个对象使用。
2.在jdk1.5之前,我们必须自己手动实现自己的线程池(不会,有兴趣可以自行百度),从jdk1.5开始,java内置支持线程池。
三、创建使用线程池
程序在启动一个新线程时所需成本是比较高的,因为它要与操作系统进行交互,使用线程池可以很好的提高性能,尤其是程序中存在大量的生存周期很短的线程时,这时就应该用到线程池。
二、线程池的特点
1.线程池里的线程代码结束后并不会死亡,而是再次回到线程池中成为空闲状态,等待下一个对象使用。
2.在jdk1.5之前,我们必须自己手动实现自己的线程池(不会,有兴趣可以自行百度),从jdk1.5开始,java内置支持线程池。
三、创建使用线程池
package a; import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors; public class MyExecutors { //使用Executors类里的newFixedThreadPool方法创建ExecutorService对象,3代表线程数 private static ExecutorService pool=Executors.newFixedThreadPool(3); public static void main(String[] args) { try{//使用try...finally保证线程一定能关闭 //使用ExecutorService接口里的submit方法添加执行线程,注意:只可以执行Runble或Callable对象所代表的线程 pool.submit(new RunbleThread()); pool.submit(new RunbleThread()); pool.submit(new RunbleThread()); }finally{ //关闭线程池 pool.shutdown(); } } }class RunbleThread implements Runnable{ @Override public void run() { for (int i = 0; i < 10; i++) { System.out.println("我是线程:"+Thread.currentThread().getName()); } } }
阅读全文
1 0
- java线程池的使用(新手)
- 新手学JAVA(十一)-多线程----线程的生命周期
- java线程新手应该懂的内容
- java新手上路(五):线程,多线程
- 新手-JAVA-线程-总结
- java线程和线程池的使用
- java 线程池的使用
- java线程池的使用
- Java线程池的使用
- Java线程池的使用
- java线程池的使用
- java线程池的使用
- java 线程池的使用
- Java线程池的使用
- java 线程池的使用
- JAVA线程池的使用
- java线程池的使用
- Java线程池的使用
- Node.js+express+ejs新建项目
- 【LDAP】关于LDAP的objectClass及Attribute
- 2017今日头条前端实习生笔试题
- Python—UnicodeEncodeError: 'ascii' codec can't encode/decode characters
- Hadoop学习笔记 6
- java线程池的使用(新手)
- 爬虫实例(二)——中国大学排名爬虫
- 一站式学习Wireshark(二):应用Wireshark观察基本网络协议
- cadence原理图库
- java中四种创建对象的方式
- wiringPi库API大全
- LintCode 平衡二叉树
- android RelativeLayout 内容居中解决办法
- SQilte/DataSet