使用jdk自带的线程池。加载10个线程。
2016-06-08 09:27
429 查看
在开发中使用线程,经常不经意间就new Thread()一个出来,然后发现,这样做不是很好,特别是很多线程同时处理的时候,会出现CPU被用光导致机器假死,线程运行完成自动销毁后,又复活的情况。
所以在这个时候,就需要使用到线程池。。
线程池就是类似数据库连接池,限定一个规定大小的连接数(线程数),然后,需要处理的线程直接调用连接池执行线程。当插入的线程个数超过线程池个数的时候,就会排队等待。。。
线程池不需要到别的地方找,JDK就自带有一个挺不错的池:java.util.concurrent.ExecutorService。
下面是个线程池工具类。。
所以在这个时候,就需要使用到线程池。。
线程池就是类似数据库连接池,限定一个规定大小的连接数(线程数),然后,需要处理的线程直接调用连接池执行线程。当插入的线程个数超过线程池个数的时候,就会排队等待。。。
线程池不需要到别的地方找,JDK就自带有一个挺不错的池:java.util.concurrent.ExecutorService。
下面是个线程池工具类。。
package com.iafclub.jrrestServer.thread; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; /**线程池 * * @author chenweixian * */ public class ThreadPool{ private static ThreadPool threadPool; // 线程池 private ExecutorService executorService = null; private ThreadPool(){ // 线程池加载10个线程 executorService = Executors.newFixedThreadPool(10); } public static synchronized ThreadPool getInstance(){ if (threadPool == null){ threadPool = new ThreadPool(); } return threadPool; } /**执行线程 * * @param thread */ public void threadDo(Thread thread){ executorService.submit(thread); } }
相关文章推荐
- ssh环境搭建(1)-lib篇(spring4.2.6+struts2.5+hibernate5.1 )
- java之volatile关键字学习
- java设计模式--工厂模式学习之使用…
- java POI读取excel
- 关于java读取properties文件的路径…
- Java、JDBC与MySQL数据类型对照
- java 嵌套类总结
- java中的嵌套类
- Java中正则Matcher类的matches()、…
- java正则去掉重复字符
- java 反射机制
- java配置文件的读取
- 使用XStream是实现XML与Java对象的…
- Java FileWriter中文乱码
- Java内存模型
- spring配置详解-连接池配置(转载…
- Java基本数据类型
- JavaWeb防止表单重复提交
- BigDecimal类的加减乘除
- 线性表--顺序储存结构 java实现