ExecutorService fixedThreadPool = Executors.newFixedThreadPool(5)
创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待
package UnitTest;

import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future; public class test {
public static void main(String[] args) {
int flag = 0;
long a = System.currentTimeMillis();
ExecutorService fixedThreadPool = Executors.newFixedThreadPool(2);
List<Future> resultList = new ArrayList<>();
for (int i = 1; i < 101; i++) {
Future future = fixedThreadPool.submit(new ThreadWithRunnable(i));
resultList.add(future);
}
fixedThreadPool.shutdown(); for (Future fs : resultList) {
try {
System.out.println(fs.get().toString());
flag += Integer.parseInt(fs.get().toString());
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
} System.out.println(flag);
System.out.println("\r<br>执行耗时 : " + (System.currentTimeMillis() - a) / 1000f + " 秒 "); }
}
package UnitTest;

import java.util.concurrent.Callable;

public class ThreadWithRunnable implements Callable {
private int number;
public ThreadWithRunnable(int number){
this.number = number;
} @Override
public Object call() throws Exception {
for (int i=1;i<1000;i++){
Thread.sleep(1);
}
return number;
}
}

Java线程池ExecutorService 代码备忘的更多相关文章

  1. Java线程池 ExecutorService

    一.ExecutorService介绍 ExecutorService是Java中对线程池定义的一个接口,它java.util.concurrent包中,在这个接口中定义了和后台任务执行相关的方法:  ...

  2. Java线程池 ExecutorService了解一下

    本篇主要涉及到的是java.util.concurrent包中的ExecutorService.ExecutorService就是Java中对线程池的实现. 一.ExecutorService介绍 E ...

  3. [Java线程] Java线程池ExecutorService

    示例 import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.u ...

  4. 【Java线程】Java线程池ExecutorService

    示例 import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.u ...

  5. Java线程池ExecutorService和CountDownLatch的小例子

    import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; import java ...

  6. Java线程池ExecutorService

    开篇前,我们先来看看不使用线程池的情况: new Thread的弊端 执行一个异步任务你还只是如下new Thread吗? new Thread(new Runnable() { @Override ...

  7. java 线程池(ExecutorService与Spring配置threadPoolTaskExecutor)

    一.java ExecutorService实现 创建ExecutorService变量private ExecutorService executor = null 2.执行对应任务时,首先生成线程 ...

  8. java 线程池--ExecutorService

    一 Java通过Executors提供四种线程池,分别为: newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程. new ...

  9. java删除文件操作代码备忘

    /** * 删除目录下的所有文件及其自身 * @param file */ private static void deleteFile(File file) { if (file.exists()) ...

随机推荐

  1. 不同系统下的字长------typedef的意义

    int的字节长度是由CPU和操作系统编译器共同决定的, 一般情况下,主要是由操作系统决定,比如,你在64位AMD的机器上安装的是32位操作系统,那么,int默认是32位的:如果是64位操作系统,64位 ...

  2. 「【算法进阶0x30】数学知识A」作业简洁总结

    t1-Prime Distance 素数距离 大范围筛素数. t2-阶乘分解 欧拉筛素数后,按照蓝皮上的式子筛出素数. 复杂度:O(nlogn) t3-反素数ant 搜索 t4-余数之和 整除分块+容 ...

  3. Java项目模板设置

    /** * * @ClassName ${PACKAGE_NAME}.${NAME} * @description ${DESCRIPTION} * @author lisongyu * @creat ...

  4. jdk8在windows及linux环境下安装

    jdk下载 下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html 目前大部分公司内部使用的还是jdk8,大部 ...

  5. 一文入门NodeJS

      NodeJS¶ 1.环境配置¶ 之前讲ES6的时候有提过一部分Node的知识,简单回顾下:一文读懂ES6 1.1.NPM国内镜像¶ npm国内镜像:https://npm.taobao.org 配 ...

  6. openCV 3.0 Ubuntu下编译问题

    1.有个ipptv啥的东西下布下来,去官网下载放到相应目录 2.把编译器降级到5版本才能编译

  7. django+mysql简单总结

    1.工程下建立APP(以WIN10+PYTHON3.6为例) C:\Users\WYS>django-admin startproject myweb  #建立项目 C:\Users\WYS&g ...

  8. I/O模型

    目录: IO模型 阻塞IO 非阻塞IO IO多路复用 异步IO 总结: 1.阻塞IO模型 多线程 多进程 线程池 进程池 全是阻塞IO 2.非阻塞IO 协程是一种非阻塞IO 1.setblocking ...

  9. 2.5 elif

    elif 想一想: if能完成当xxx时做事情 if-else能完成当xxx时做事情1,否则做事情2 如果有这样一种情况:当xxx1满足时做事情1:当xxx1不满足.xxx2满足时做事情2:当xxx2 ...

  10. 【webpack】中mini-css-extract-plugin使用方法

    这个参加可以压缩CSS,然后让CSS输出到指定的目录中 使用这个loader也很简单,只有将style-loader 替换成 MiniCssExtractPlugin.loader, 'css-loa ...