JAVA多线程处理for循环
public static void main(String[] args) {long start = System.currentTimeMillis();List<Integer> list = new ArrayList();for (int i = 0; i < 1000; i++) {list.add(i);}//定义线程数量为20,可根据服务器配置适当调整大小 Thread(list, 20);long end = System.currentTimeMillis();System.out.println("总时间 = " + (end - start));}
//此处有加锁,不需要的同学可以自行改造
public synchronized static <T> void Thread(List<T> list, int nThread) {if (CollectionUtils.isEmpty(list) || nThread <= 0 || CollectionUtils.isEmpty(list)) {return;}Semaphore semaphore = new Semaphore(nThread);//定义几个许可ExecutorService executorService = Executors.newFixedThreadPool(nThread);//创建一个固定的线程池for (T number : list) {try {semaphore.acquire();executorService.execute(() -> {//此处可以放入待处理的业务System.out.println("number:" + number);semaphore.release();});} catch (InterruptedException e) {}}executorService.shutdown();}
在数据量大的情况下对比直接循环效果很明显。用上之后又可以加鸡腿了~
JAVA多线程处理for循环相关推荐
- Java语言的循环控制结构
Java语言的循环控制结构 循环控制结构:是在一定条件下,反复执行某段程序的流程结构,被反复执行的程序称为循环体.循环控制结构是程序中非常重要和基本的一种结构,它是由循环语句来实现的. Java 的循 ...
- java中的循环 while
java中的循环 有三种 for循环 while循环 do..while循环 今天我们主要就讲一种. 叫while循环. 剩下的两种, 我们会在<基础进阶>里继续给大家介绍. while循 ...
- java跳出指定循环
java跳出指定循环: 方法一: 在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break 语句,即可跳出外层循环: for(int i = 0;i < 10; i ++ ...
- java js跳出循环_[Java教程]js循环的总结
[Java教程]js循环的总结 0 2016-10-07 15:00:14 js原生的循环有两种,一般的for循环和for...in循环.还有一种常用jQuery.each()循环. 一. js原生循 ...
- java 中for循环中重复定义的变量 为什么不报错?
java 中for循环中重复定义的变量 为什么不报错? public class Test1 {public static void main(String[] args) {int[] arr = ...
- java用while循环语句输出1-100内的奇数和
java用while循环语句输出1-100内的奇数和 /*** 用while语句,输出0-100所有奇数和*/ public class Test04 {public static void main ...
- JAVA中for循环写杨辉三角_java使用for循环输出杨辉三角
思路是创建一个整型二维数组,包含10个一维数组.使用双层循环,在外层循环中初始化每一个第二层数组的大小.在内层循环中,先将两侧的数组元素赋值为1,其他数值通过公式计算,然后输出数组元素.public ...
- java for in 循环_js的for in循环和java里foreach循环的区别分析
本文实例分析了js的for in循环和java里foreach循环的区别.分享给大家供大家参考.具体分析如下: js里的for in循环定义如下: for(var variable in obj) { ...
- 用java解决约瑟夫循环问题,Java实现循环列表解决约瑟夫环问题
约瑟夫环:共有n个人围成一圈,从1开始报数,数到m的人出圈,求最后幸运者序号?? 下面用Java实现循环列表解决这个问题: package com.iteye.ljmdbc7a; import jav ...
最新文章
- Crawler:关于爬虫的简介、安装、使用方法之详细攻略
- vue项目中 axios请求拦截器与取消pending请求功能 - 年少、 - 博客园
- 图论 —— 生成树 —— 生成树计数 —— 基尔霍夫矩阵
- 鸿蒙轻内核源码分析:掌握信号量使用差异
- Javascript 中的非空判断 undefined,null, NaN的区别
- 决定创业失败的除了团队外
- HDU1517 A Multiplication Game (博弈论+思维)
- MySQL安装 MySQL5.7.10免安装版配置,mysql5.7.10免安装版
- 7款很棒的 HTML5 视频播放器
- 【Python】Python网络爬虫-电视剧《平凡的荣耀》数据爬取与分析
- 关于BigDecimal常量的使用ROUND_UP,ROUND_DOWN,ROUND_HALF_UP,ROUND_HALF_DOWN
- 浅谈电子学--台湾新竹交通大学 陈英龙
- 浅谈当下火热的ChatGPT
- ggplot2 | R语言绘制世界地图choropleth
- AM335xu-bootLOGO开机LOGO
- 菜鸟自学02:下载参考基因组及构建bowtie2索引
- 浅谈JAVA的往日辉煌与未来趋势
- 车辆仪表盘测试平台研究
- 正式学习java五天
- Lidar based off-road negative obstacle detection and analysis(论文翻译)