使用jdk自带的线程池。加载10个线程。
2024-08-31 17:04:42
在开发中使用线程,经常不经意间就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);
} }
最新文章
- 打造高效前端工作环境 - tmux
- LVM 管理减少swap分区空间增加到根分区
- 从零自学Hadoop(06):集群搭建
- 配置nginx+php
- Android图片压缩(质量压缩和尺寸压缩)
- JAVA CDI 学习(1) - @Inject基本用法
- uva 107 - The Cat in the Hat
- iOS 上线被拒收集
- 【循序渐进学Python】4. Python中的序列——字典
- JavaScript 执行环境(执行上下文) 变量对象 作用域链 上下文 块级作用域 私有变量和特权方法
- Ionic Demo 解析
- python爬虫实战 获取豆瓣排名前250的电影信息--基于正则表达式
- BZOJ 1434: [ZJOI2009]染色游戏
- Oracle数据库中SCOTT用户下的默认表
- jquery获取元素节点
- oracle nvl2函数
- git(二) 分支管理
- eclipse的这几个小玩意
- Pulsar-Producer实现简介
- git个人学习总结