java 线程池 hash_java线程池实例 - Hashsound的个人空间 - OSCHINA - 中文开源技术交流社区...
线程池的作用:
线程池作用就是限制系统中执行线程的数量。
根据系统的环境情况,可以自动或手动设置线程数量,达到运行的最佳效果;少了浪费了系统资源,多了造成系统拥挤效率不高。用线程池控制线程数量,其他线程排队等候。一个任务执行完毕,再从队列的中取最前面的任务开始执行。若队列中没有等待进程,线程池的这一资源处于等待。当一个新任务需要运行时,如果线程池中有等待的工作线程,就可以开始运行了;否则进入等待队列。
为什么要用线程池:
减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务
可以根据系统的承受能力,调整线程池中工作线线程的数目,防止因为因为消耗过多的内存,而把服务器累趴下(每个线程需要大约1MB内存,线程开的越多,消耗的内存也就越大,最后死机)
线程池类
import java.util.Random;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class ThreadTest {
private static ExecutorService executor = Executors.newFixedThreadPool(5);
private static Task task;
public static void main(String[] args) {
ThreadTest test=new ThreadTest();
int ThreadNum=0;
while(true){
ThreadNum++;
test.start(ThreadNum);
}
}
private void start(final int ThreadNum)
{
task = new Task(ThreadNum);
executor.execute(task);
}
}
class Task extends Thread
{
private int ThreadNum;
Task(int temp)
{
ThreadNum=temp;
}
public void run() {
System.out.println("当前执行了:"+ThreadNum);
try {
Random random=new Random();
int sleep=random.nextInt(8)+2;
System.out.println(ThreadNum+">>停止"+sleep+"秒");
Thread.sleep(sleep*1000);
} catch (InterruptedException e) {
System.out.println("执行过程中出现县城暂停异常"+e);
}
System.out.println(ThreadNum+">>执行完成");
System.gc();
}
}
执行结果如下:
当前执行了:2
当前执行了:3
当前执行了:1
2>>停止4秒
3>>停止8秒
1>>停止4秒
当前执行了:4
当前执行了:5
5>>停止3秒
4>>停止4秒
5>>执行完成
1>>执行完成
2>>执行完成
当前执行了:6
6>>停止9秒
当前执行了:8
8>>停止6秒
4>>执行完成
当前执行了:7
7>>停止7秒
当前执行了:9
9>>停止9秒
java 线程池 hash_java线程池实例 - Hashsound的个人空间 - OSCHINA - 中文开源技术交流社区...相关推荐
- java 羽化_JAVA10来了 - 羽化布凉的个人空间 - OSCHINA - 中文开源技术交流社区
Java 9才发布几个月,很多玩意都没整明白,现在Java 10又要来了. 这时候我真想说:线上用的JDK 7,甚至JDK 6,而JDK 8 还没用熟,JDK 9 才发布不久不知道啥玩意,JDK 10 ...
- java动态变量名反射_Java动态性—反射 - Eclipse666的个人空间 - OSCHINA - 中文开源技术交流社区...
1.什么是动态语言? 程序运行时,可以改变程序的结构或者变量类型:如Python,javaScript function(){ var s="var a=3;var b=4;" e ...
- 利用mysql建立随机森林_随机森林算法实例 - osc_4imme0wh的个人空间 - OSCHINA - 中文开源技术交流社区...
根据成年人数据集来预测一个人的收入 1.准备数据集 我下载好了一个成年人数据集,从百度云下载 链接:https://pan.baidu.com/s/10gC8U0tyh1ERxLhtY8i0bQ 提取 ...
- java io 读取配置文件_java读取配置文件 - tomzhao2008的个人空间 - OSCHINA - 中文开源技术交流社区...
对于要打包成jar文件来运行来说,用file是会有问题的,下面的程序可以解决这样的问题 1.ReadPropsUtil /** * */ package readproperties; import ...
- java中0l 1_Java基础笔记1 - osc_0ltyoebk的个人空间 - OSCHINA - 中文开源技术交流社区...
java 1.一元运算符:只需要一个数据就可以进行的运算符.例如 取反 ! 自增 ++ 自减-- 2.二元 运算符 :需要两个数据才可以进行操作的运算符,例如: 加法 + ,赋值 = 3.三元运算符 ...
- java中PL层_安装pljava - RuralHunter的个人空间 - OSCHINA - 中文开源技术交流社区
pljava是pgsql跟java的桥接,安装以后就可以在pgsql里面调用java了.这里记录一下我在ubuntu server下安装的过程 1. 下载源码编译 很简单,下载,解压,设置一下JAVA ...
- java枚举变量带括号_java枚举类型 - 墨梅的个人空间 - OSCHINA - 中文开源技术交流社区...
public class TestEnum { /*最普通的枚举*/ public enum ColorSelect { red, green, yellow, blue; } /* 枚举也可以象一般 ...
- java脚本项目_java项目部署脚本 - xixingzhe的个人空间 - OSCHINA - 中文开源技术交流社区...
#!/bin/sh #java export JAVA_HOME=/root/java/jdk #日志目录 export LOG_HOME=`pwd`/ #项目名称 APP_NAME=xxx.jar ...
- java 图形 登录_java登录图形界面 - osc_994n5tsc的个人空间 - OSCHINA - 中文开源技术交流社区...
编写程序,利用JtextField和JpasswordField分别接收用户输入的用户名和密码,并对用户输入的密码进行检验.对于每个用户名有三次密码输入机会. package beizi; impor ...
- java 递归死循环_Java递归 - 感觉太煽情的个人空间 - OSCHINA - 中文开源技术交流社区...
树节点类: package cn.com.tree; public class Node { private Integer id; private Integer parentId; private ...
最新文章
- 我司那产品经理丨第一期
- CG CTF WEB 密码重置
- HTML源码-网页123算数题小游戏源码
- 【LeetCode】剑指 Offer 45. 把数组排成最小的数
- Android 一个漂亮的Android日期和时间选择器:DateTimePicker
- wos 文献被引_全世界最权威的文献检索工具,这6个检索技巧必须要掌握!
- Python+Selenium+Edge浏览器安装与简单运行(1/2)
- Sun发布MySQL 5.4 响应速度提升90% ?
- 电视直播源码2.0-全站HTML文件
- 企业微信api接口,企业微信sdk
- mysql数据库安装(详细)
- 用英雄联盟的方式讲解JavaScript设计模式
- 华为手机什么时候更新鸿蒙系统_华为鸿蒙2.0系统什么时候可以用 华为鸿蒙2.0系统升级方法介绍[多图]...
- 今日头条推荐算法原理 - 梳理
- 全文检索(elasticsearch入门)
- 3d稀疏卷积——spconv源码剖析(三)
- 网络爬虫python实例视频-Python网络爬虫实例教程 视频讲解版
- 研究生体检色弱计算机专业,考研体检,轻度色弱会不会被刷
- 378. 骑士放置——最大独立集+匈牙利算法
- 解决流氓软件布丁桌面、布丁压缩、值购助手、智能云输入法、蒲公英wifi、柚子壁纸、麦家购物助手反复安装
热门文章
- bzoj1835基站选址(dp+线段树)
- CAS(Compare and Swap)理解
- PPT设计的数据图表化表现
- 自己写的一个分享按钮的插件(可扩展,内附开发制作流程)
- 推行ISO9000的作用及相关知识
- 用 CSS 实现 Firefox 和 IE 都支持的半透明效果
- 拓端tecdat:R语言GARCH建模常用软件包比较、拟合标准普尔SP 500指数波动率时间序列和预测可视化
- 拓端tecdat|使用R语言进行多项式回归、非线性回归模型曲线拟合
- 拓端tecdat|R语言在BRFSS数据中可视化分析探索糖尿病的影响因素
- hibernate教程笔记7