Thread 线程池
2024-08-23 05:47:28
Thread 线程池:
当使用多个较短存活期的线程有利时,运用线程池技术可以发挥作用。运用这一技术时,不是为每个任务创建一个全新的线程,而可以从线程池中抽出线程,并分配给任务。
当线程完成任务后,再把它放回到池中,并等待另一次分配。
优点:
线程池节省了虚拟机为每项短期工作创建全新线程的工作量。另外,它使得与线程的启动以及消亡后的清理相关的开销最小。创建一个线程池后,可以在不同的任务中循环使用池是的单个线程。
通过线程池技术,可以减少反应的时间,因为线程已经得以构建,并已经启动,只是等待下一个任务而已。
单线程池:newSingleThreadExecutor()
可变大小线程池:newCachedThreadPool()
可延迟线程池:newScheduledThreadPool(int corepoolsize)
/**
* 线程池中如果线程大小大于线程池数,则线程多的处于等待状态,当线程池中的线程结束后才会运行多余的线程
*/
public class ThreadPoolTest {
public static void main(String[] args){
ExecutorService pool= Executors.newFixedThreadPool(2);//创建2个固定大小的线程池
pool.execute(new Runnable() {
@Override
public void run() {
int i=0;
while (i<5){
i++;
System.out.println("线程1");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
});
pool.execute(new Runnable() {
@Override
public void run() {
int i=0;
while (i<5){
i++;
System.out.println("线程2");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
});
pool.execute(new Runnable() {
@Override
public void run() {
int i=0;
while (i<5){
i++;
System.out.println("线程3");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
});
}
}
最新文章
- GUI 下
- 【leetcode】Word Break II
- git常用命令,git版本控制和Xcode结合使用,用Xcode提交到github,github客户端使用
- 彻底解决Spring MVC 中文乱码 问题
- Java中的Enum的使用与分析
- bootstrap的滚动监听
- Qt Style Sheets Examples(官方例子目录,很全)
- win7虚拟机起不来,报错transport vmdb error -44 message the vmware authorization
- A*算法的C语言实现
- uva 1534 - Taekwondo(dp+馋)
- AES加密CBC模式兼容互通四种编程语言平台【PHP、Javascript、Java、C#】
- CodeForces 626D Jerry&#39;s Protest
- vue.js事件,属性,以及交互
- [Luogu2991][USACO10OPEN]水滑梯Water Slides
- Luogu CF451E Devu and Flowers 题解报告
- 软件工程_4th weeks
- OpenResty编译安装
- indexOf实现引申出来的各种字符串匹配算法
- vncviewer 通过ipv6连接
- JS修改属性,六种数据类型
热门文章
- Oracle Like、Instr以及正则表达式
- JSON格式自动解析遇到的调用方法问题.fromJson() ..readValue()
- 总结JavaScript常用数组操作方法,包含ES6方法
- Python 初始—(列表)
- Linux nohup 关闭终端的时候,程序依然能在后台运行( linux重定向及nohup不输出的方法)
- httpd虚拟主机、站点访问控制、基于用户的访问控制、持久链接等应用配置实例
- iOS常用控件-UITableViewCell
- python使用网易邮箱发邮件
- cocos2d-x 3.0环境配置(转)
- c语言printf()输出格式大全(转载)