您的位置:首页 > 编程语言 > Java开发

使用jdk自带的线程池。加载10个线程。

2016-06-08 09:27 429 查看
在开发中使用线程,经常不经意间就new Thread()一个出来,然后发现,这样做不是很好,特别是很多线程同时处理的时候,会出现CPU被用光导致机器假死,线程运行完成自动销毁后,又复活的情况。

所以在这个时候,就需要使用到线程池。。

线程池就是类似数据库连接池,限定一个规定大小的连接数(线程数),然后,需要处理的线程直接调用连接池执行线程。当插入的线程个数超过线程池个数的时候,就会排队等待。。。

线程池不需要到别的地方找,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);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: