定长线程池Demo
1 import java.util.concurrent.ExecutorService;
2 import java.util.concurrent.Executors;
3
4 /**
5 * Description:定长线程池Demo
6 *
7 * @author baozikengutou
8 */
9 public class Test2 {
10
11 public static void main(String[] args) {
12
13 // 创建固定长度线程池
14 ExecutorService fixedThreadPool = Executors.newFixedThreadPool(4);
15 for (int i = 1; i < 41; i++) {
16 final int index = i;
17 fixedThreadPool.execute(new Runnable() {
18
19 @Override
20 public void run() {
21 try {
22 System.out.println("================>线程:" + index + "\n");
23 Thread.sleep(1000 * 3);
24 } catch (InterruptedException e) {
25 e.printStackTrace();
26 }
27 }
28 });
29 }
30 }
31 }
输出结果:
================>线程:1
================>线程:4
================>线程:3
================>线程:2
================>线程:5
================>线程:8
================>线程:7
================>线程:6
================>线程:9
================>线程:10
================>线程:11
================>线程:12
================>线程:13
================>线程:15
================>线程:14
================>线程:16
================>线程:17
================>线程:19
================>线程:18
================>线程:20
================>线程:21
================>线程:23
================>线程:24
================>线程:22
...
定长线程池Demo的更多相关文章
- java线程池之newFixedThreadPool定长线程池
newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待. 线程池的作用: 线程池作用就是限制系统中执行线程的数量. 根 据系统的环境情况,可以 ...
- 定长内存池之BOOST::pool
内存池可有效降低动态申请内存的次数,减少与内核态的交互,提升系统性能,减少内存碎片,增加内存空间使用率,避免内存泄漏的可能性,这么多的优点,没有理由不在系统中使用该技术. 内存池分类: 1. ...
- java写的简单通用线程池demo
首先声明,代码部分来自网络. 1.入口DabianTest: package com.lbh.myThreadPool; import java.util.ArrayList; import java ...
- 线程池demo
package test; import java.util.ArrayList; import java.util.List; import java.util.concurrent.Callabl ...
- Java多线程(四) 线程池
一个优秀的软件不会随意的创建.销毁线程,因为创建和销毁线程需要耗费大量的CPU时间以及需要和内存做出大量的交互.因此JDK5提出了使用线程池,让程序员把更多的精力放在业务逻辑上面,弱化对线程的开闭管理 ...
- Java-----关于线程池的使用
关于线程的相关概念不在此阐述,请百度或谷歌之 对于学习线程来说,我认为从代码开始学习比较好,前提是有一定的技术的积累,否则请关闭不用再看了~ 线程池四种实现方式. ①可缓存线程池,如果线程池长度超过处 ...
- java多线程(三)-Executors实现的几种线程池以及Callable
从java5开始,类库中引入了很多新的管理调度线程的API,最常用的就是Executor(执行器)框架.Executor帮助程序员管理Thread对象,简化了并发编程,它其实就是在 提供了一个中间层, ...
- Java 使用new Thread和线程池的区别
本文转至:https://www.cnblogs.com/cnmenglang/p/6273761.html , 孟凡柱的专栏 的博客,在此谢谢博主! 1.new Thread的弊端执行一个异步任务你 ...
- Java线程池实现
电脑的CPU资源是有限的,任务的处理速度与线程数量之间并不是正相关.当线程数量过多,CPU要频繁的在不同线程切换,反而会引起处理性能的下降.线程池中最大的线程数,是考虑多种因素来事先设定的,比如硬件的 ...
- 线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式
1. 通过Executors创建线程池的弊端 在创建线程池的时候,大部分人还是会选择使用Executors去创建. 下面是创建定长线程池(FixedThreadPool)的一个例子,严格来说,当使用如 ...
随机推荐
- slitaz5安装vim,sakura终端命令行打不开
刚开始安装了vim后,vim提示libtinof.so.6打不开.在网上查,发现可能是库缺少.然后查看了依赖库文件 ldd /usr/bin/vim 发现果然缺少了 libncurses.so.6 的 ...
- 服务器consul与本地服务健康检查不通问题解决
(125条消息) 服务器consul与本地服务健康检查不通问题解决_向往鸟的博客-CSDN博客_consul健康检查失败 .MathJax, .MathJax_Message, .MathJax_Pr ...
- IE和FireFox 对FORM enctype属性的认识存在差异
IE和FireFox 对FORM enctype属性的认识存在差异,一般来说对于动态创建的form,如果因为要上传文件的原因很自然的会使用类似如下的代码: 1 //create form 2 th ...
- (原创)odoo计算字段报CacheMiss异常
在odoo计算字段获取值的中的过程中报出odoo.exceptions.CacheMiss异常,常见的原因为是在计算字段方法中没有为该计算字段赋值.如图 方法"_compute_test&q ...
- 自我介绍&学习心得
这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/2023learning/join?id=CfDJ8GXQNXLgcs5PrnWvMs4xAGN4cH ...
- Java Maven环境搭建
下载 Maven 官网地址: https://maven.apache.org/ 点击左侧的 "Download" 下载 Files 下面的 zip 文件 推荐使用迅雷进行下载,速 ...
- R语言码农的Scala学习心得
为了MLib,最近是铁了心要学好Spark.关注本博客的朋友应该知道我的主力语言是R,无论是训练模型还是做Elasticsearch,都是通过R脚本来操作的.之前的<通过 Spark R 操作 ...
- 接口拿到的id和传到后台的id不一致,导致查询详情和编辑报错
碰到这个问题真是百思不得其解.接口上打印的值和数据库一致,浏览器查看response的反馈也一致.但是一在页面打印请求回来的值,就变了,变成了另一个id,但是其他数据又和数据库一致. 查了一圈也没有查 ...
- java基于ssm框架开发的公交查询系统源码公交系统源码公交路线查询项目有论文
简介 java基于ssm的公交路线查询系统,用户可以查询公交站点公交车路线以及公交换乘方案,还可以查看公交车路线地图,以及该站点所有的公交车路线. 演示视频: https://www.ixigua.c ...
- Grafana + Prometheus 监控JVM
最近在研究监控系统,所以第一次接触了Grafana跟Prometheus,Grafana是一个很强大的可视化指标工具,而Prometheus是一个时序数据库. 项目总会慢慢做大,一些必要的监控以及预警 ...