有时候为了控制并发规模,我们需要对每次启动的线程做个数量上的限制,可以使用Executors.newFixedThreadPool(int)这个方法。

例子

一个线程类,运行中休息几秒为了观察现象更为明显

package com.nicchagil.study.thread.cnblogs.No01启动固定数量的线程;import java.util.concurrent.TimeUnit;public class MyThread extends Thread {@Overridepublic void run() {System.out.println(this.getName());/* 设置短暂的停止以看效果 */try {TimeUnit.SECONDS.sleep(3);} catch (InterruptedException e) {e.printStackTrace();}}}

View Code

启动类

package com.nicchagil.study.thread.cnblogs.No01启动固定数量的线程;import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;public class Call {public static void main(String[] args) {/** 并发执行指定数量的线程*/ExecutorService es = Executors.newFixedThreadPool(2);for (int i = 0; i < 5; i++) {es.execute(new MyThread());}es.shutdown();}}

View Code

API参考

Executors.newFixedThreadPool(int)

Executor.execute(java.lang.Runnable)

ExecutorService.shutdown()

Java™ Platform, Standard Edition 7

【多线程】并发执行指定数量的线程相关推荐

  1. java中thread实例_Java多线程并发执行demo代码实例

    主类:MultiThread,执行并发类 package java8test; import java.util.ArrayList; import java.util.List; import ja ...

  2. 多线程并发执行及解决方法

    用一个案例来说明:假如我们要实现一个售票的小功能,用3个线程售出共2000张票. 初始模型为: package com.test7;public class synchronizedTest {pub ...

  3. Java Script 多线程并发执行与异步执行浅析

    众所周知,JS是单线程运行机制,但是当我们在使用AJAX请求时会有async选项,来实现异步. 那么小编今天来简单的说一下关于JS的异步到底是怎么实现的. 我们先测试这样一段代码: self.setI ...

  4. 「Python-StandardLib」第十六章:并发执行( Cocurrent Executing,线程、多线程队列、子进程)

    参考链接: python多线程 python线程--基于线程的并行 16.1 线程(threading) ps: python ver. is 2.7.18 线程是一项将非连续依赖任务进行分解的技术. ...

  5. 【Java_多线程并发编程】基础篇—线程状态及实现多线程的两种方式

    1.Java多线程的概念 同一时间段内,位于同一处理器上多个已开启但未执行完毕的线程叫做多线程.他们通过轮寻获得CPU处理时间,从而在宏观上构成一种同时在执行的假象,实质上在任意时刻只有一个线程获得C ...

  6. python多线程并发编程技术_同步线程 - Python并发编程教程™

    线程同步可以定义为一种方法,借助这种方法,可以确信两个或更多的并发线程不会同时访问被称为临界区的程序段. 另一方面,正如我们所知道的那样,临界区是共享资源被访问的程序的一部分. 因此,同步是通过同时访 ...

  7. springboot2.0 多线程并发执行任务

    springboot2.0版本 执行多线程方式,个人学习了两种,一种直接是继承父类Thread或实现Runnable 接口类,,重写run方法:第二种是通过springboot的支持注解@Async的 ...

  8. 动态开辟指定数量的线程来查找动态开辟的数组中的1000000数据中的值

     1.项目包结构 array.h #ifndef _ARRAY_H_ #define _ARRAY_H_ /******************************************** ...

  9. hutool实现多线程并发执行并等待的功能

    package com.system;import cn.hutool.core.thread.ThreadUtil; import lombok.SneakyThrows;import java.u ...

最新文章

  1. 微服务、分布式、云架构构建电子商务平台
  2. 算法代码_Python进化算法之多目标优化与代码实战
  3. 贴出一个php的批量搜索吧
  4. linux运维、架构之路-nfs网络文件系统
  5. iPad远程控制windows主机及内网穿透原理
  6. Android系统篇(二)——Android编译核心Build系统
  7. 有关《家》的经典歌曲_大家,给我推荐几首歌吧?
  8. 2022-2028全球3D透视导航技术行业调研及趋势分析报告
  9. Centos7 Jenkins 下载安装-----看此文章即可
  10. solr教程,值得刚接触搜索开发人员一看(转载:http://blog.csdn.net/awj3584/article/details/16963525)
  11. 万马爱充工商变更:李刚任法定代表人、总经理,曾为特来电副总裁
  12. 【厉害了】台达PLC可以实现无线下载程序!
  13. python读取mat文件格式_Python读取mat文件,并保存为pickle格式的方法
  14. 18岁生日所经过的总天数
  15. Windows在虚拟机安装苹果MacOS系统
  16. 一个IT老兵六年的折腾之路!
  17. 脚踏实地,系统地学习PHP, 夯实PHP基础
  18. 学习编程真的会秃头吗???
  19. Abaqus 6.13高级实例与耦合分析视频教程
  20. 软考A计划-重点考点-专题十二(JAVA程序设计)

热门文章

  1. 版本控制之svn命令行下检出、提交、更新
  2. CDOJ 1401 谭爷的黑暗沙拉 数学
  3. 卖程序的小女孩(转)
  4. 【360开源】Wayne:企业级可视化多集群Kubernetes一站式管理平台
  5. 关于c语言编写 顺序表 的创建、插入、修改、删除、显示、退出 的程序案例
  6. vue中align_Vue的简单Treeview组件,没有额外的依赖——VueTeatree
  7. Jetty 与 Tomcat
  8. 为什么使用 Dubbo ? 微服务概述?传统应用的问题?
  9. (干货!最全)Tomcat入门
  10. 如何在 Laravel 中使用锁