定长线程池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)的一个例子,严格来说,当使用如 ...
随机推荐
- cocos2d-lua 控制台输入Lua指令方便调试
用脚本进行开发,如果不能实时去输入指令,就丧失了脚本的一大特色,所以对cocos2d-x程序稍微修改下,使其可以直接从控制台读入lua指令,方便调试. 1 首先在行首加入lua的引用,如下 1 #in ...
- MyBatis_07(动态SQL)
动态SQL: Mybatis框架的动态SQL技术是一种根据特定条件动态拼装SQL语句的功能, 它存在的意义是:"为了解决拼接SQL语句字符串时的痛点问题". 一.If if标签可通 ...
- 国产电源芯片DP4054 软硬件兼容TP4054 规格书资料
DP4054 是一款完整的采用恒定电流/恒定电压单 节锂离子电池充电管理芯片.其SOT小封装和较少的外部元件数目使其成为便携式应用的理想器件,DP4054 可以适合USB 电源和适配器电源工作.跟进口 ...
- 《这里分别闭合离合器Zm和Z2会分别有什么效果》 回复
<这里分别闭合离合器Zm和Z2会分别有什么效果> https://tieba.baidu.com/p/8246021959 .
- GUI程序设计--班级信息收集系
import wx from python实验2 import classinformation class MyFrame(wx.Frame): def __init__(self,parent,i ...
- 戴尔n4110的独显驱动黄色感叹号问题的解决方法
直接开门见山: 要下载旧版驱动R302028.exe,但是戴尔似乎下掉了,找到了代替的地址 下载地址如下: http://soft.onlinedown.net/soft/556280.htm ,下载 ...
- python逐行读取替换文件中的字符串
用列表中的值逐行替换文件中符合条件的字符串,并保存为新的文件, open("file").readlines 方案1: 逐行替换并保存为新的文件 import re def rep ...
- WPF textbox实现单击全选
- jupyter notebook相关笔记
导出pdf时隐藏代码 参考:https://segmentfault.com/q/1010000043309446
- windows环境下部署项目
有些时候,我们的项目不得不用windows服务器部署,但是需要注意的是,windows服务是无法开启多进程处理请求的. 本文介绍如何在windows上部署flask项目,应用 apache + mod ...