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的更多相关文章

  1. java线程池之newFixedThreadPool定长线程池

    newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待. 线程池的作用: 线程池作用就是限制系统中执行线程的数量.     根 据系统的环境情况,可以 ...

  2. 定长内存池之BOOST::pool

    内存池可有效降低动态申请内存的次数,减少与内核态的交互,提升系统性能,减少内存碎片,增加内存空间使用率,避免内存泄漏的可能性,这么多的优点,没有理由不在系统中使用该技术. 内存池分类: 1.      ...

  3. java写的简单通用线程池demo

    首先声明,代码部分来自网络. 1.入口DabianTest: package com.lbh.myThreadPool; import java.util.ArrayList; import java ...

  4. 线程池demo

    package test; import java.util.ArrayList; import java.util.List; import java.util.concurrent.Callabl ...

  5. Java多线程(四) 线程池

    一个优秀的软件不会随意的创建.销毁线程,因为创建和销毁线程需要耗费大量的CPU时间以及需要和内存做出大量的交互.因此JDK5提出了使用线程池,让程序员把更多的精力放在业务逻辑上面,弱化对线程的开闭管理 ...

  6. Java-----关于线程池的使用

    关于线程的相关概念不在此阐述,请百度或谷歌之 对于学习线程来说,我认为从代码开始学习比较好,前提是有一定的技术的积累,否则请关闭不用再看了~ 线程池四种实现方式. ①可缓存线程池,如果线程池长度超过处 ...

  7. java多线程(三)-Executors实现的几种线程池以及Callable

    从java5开始,类库中引入了很多新的管理调度线程的API,最常用的就是Executor(执行器)框架.Executor帮助程序员管理Thread对象,简化了并发编程,它其实就是在 提供了一个中间层, ...

  8. Java 使用new Thread和线程池的区别

    本文转至:https://www.cnblogs.com/cnmenglang/p/6273761.html , 孟凡柱的专栏 的博客,在此谢谢博主! 1.new Thread的弊端执行一个异步任务你 ...

  9. Java线程池实现

    电脑的CPU资源是有限的,任务的处理速度与线程数量之间并不是正相关.当线程数量过多,CPU要频繁的在不同线程切换,反而会引起处理性能的下降.线程池中最大的线程数,是考虑多种因素来事先设定的,比如硬件的 ...

  10. 线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式

    1. 通过Executors创建线程池的弊端 在创建线程池的时候,大部分人还是会选择使用Executors去创建. 下面是创建定长线程池(FixedThreadPool)的一个例子,严格来说,当使用如 ...

随机推荐

  1. win10 打开剪切板失败 拒绝访问 已解决!!

    问题 剪切板使用混乱,导致本地无法复制粘贴 解决办法 terminal运行echo off | clip

  2. vue2 安装swiper

    npm install swiper@5.4.5 -D

  3. Java获取当前服务器域名、IP、端口

    HttpServletRequest request;//获取request对象 request.getServerName();//获取服务器域名 request.getServerPort();/ ...

  4. Docker学习笔记-03 容器数据卷

    1.宿主 vs容器直接映射数据容器卷 docker run -it  --privileged=true  -v  /宿主机绝对路径目录 :/ 容器内目录   镜像名 eg:  docker run  ...

  5. 图片上传造成VS关闭

    原来的地方:https://q.cnblogs.com/q/129719/ VS2019开启调试,测试图片上传的时候,一点到图片上传,直接导致VS调试崩掉,返回 程序"[14764] iis ...

  6. nginx配置根据url的参数值进行转发

    server { listen 8081; location / { set $tag ""; set $cs "/index/test/test"; prox ...

  7. 写于vue3.0发布前夕的helloworld之三

    接上,watcher构造函数: var Watcher = function Watcher (     vm,     expOrFn,     cb,     options,     isRen ...

  8. 不安全的权限 0644,建议使用 0600 虚拟机无法分配内存 virtual memory exhausted: Cannot allocate memory

    我都不知道我写了啥,自己都很混乱 aoteman@aoteman-virtual-machine:/tmp$ sudo -s #进入root用户模式 [sudo] aoteman 的密码: 12对不起 ...

  9. anaconda在sys.path删除~/.local/lib

    python -m site python -m site -help USER_SITE='~/anaconda3/envs/test/lib/python3.7/site-packages'

  10. C语言经典100例【1、2】

    [1]三位数字重组问题 题目:有 1.2.3.4 四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 分析:分别把1,2,3,4放在个位.十位和百位,用嵌套循环即可解决.注意要求无重复数字 ...