文档章节

JUC学习之ThreadPool

james_you
 james_you
发布于 2014/05/21 15:17
字数 188
阅读 102
收藏 2

这边只给出其中一个简单的实现,线程池可以有好几个实现,具体请查看API

package treadPool;

import java.util.Random;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;

/**
 * 验证线程池中某个线程出现异常,其他线程是否会受影响
 * */
public class TestThreadPool {
    public static void main(String[] args)throws Exception {
        // TODO Auto-generated method stub
        ExecutorService es = Executors.newFixedThreadPool(10);
        for(int i=0;i<30;i++){
            final int no = i+1;
            es.submit(new Runnable(){
                @Override
                public void run() {
                    try {
                        int r = new Random().nextInt(10);
                        if(r==5){
                            throw new Exception("干第"+no+"件活出异常了!");
                        }else{
                            System.out.println(String.format("%s - %s",Thread.currentThread(),"干第"+no+"件活"));
                        }
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            });
        }
        es.shutdown();
        es.awaitTermination(1, TimeUnit.MINUTES);
        System.out.println("--------完成---------");
    }

}


© 著作权归作者所有

上一篇: 简单的RPC框架
下一篇: JUC学习之FutureTask
james_you
粉丝 5
博文 25
码字总数 12119
作品 0
长宁
技术主管
私信 提问
java程序猿技术栈

一、java 基础知识 1.1 java基础集合类 1.2 jdk1.5、1.6、1.7、1.8 特效比较 1.3 java异常处理 1.4 jvm原理及常见问题 1.5 log4j等日志收集 1.6 jdbc驱动 1.7 jdk反射机制使用和原理 1.8 ja...

南寒之星
2016/11/30
17
0
【Thread】- JUC 5种线程同步工具

Semaphore:信号灯 特点:控制每次执行的线程数,达到控制线程并发的效果 测试代码 效果: CyclicBarrier 作用:控制线程运行的任务总量同步,例如等待所有人完成工作才可以下班 测试代码 效果...

ZeroneLove
03/03
22
0
Java并发编程之JUC容器概述

今天开始学习JUC容器。JUC提供了用于多线程上下文中的Collection实现与高效的、可伸缩的、线程安全的非阻塞FIFO队列。参考JDK1.8,画出下图。 List JUC容器中List的实现只有CopyOnWriteArra...

潘威威的博客
2017/12/21
0
0
Java 多线程系列目录(共43篇)

Java多线程系列目录(共43篇) 最近,在研究Java多线程的内容目录,将其内容逐步整理并发布。 (一) 基础篇 01. Java多线程系列--“基础篇”01之 基本概念 02. Java多线程系列--“基础篇”02之 ...

foxeye
2016/02/29
267
0
CountDownLatch源码解析

CountDownLatch 相比ReentranceLock,CountDownLatch的流程还是相对比较简单的,CountDownLatch也是基于AQS,它是AQS的共享功能的一个实现。 下面从源代码的实现上详解CountDownLatch。 1、C...

maxam0128
2018/01/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

哪些情况下适合使用云服务器?

我们一直在说云服务器价格适中,具备弹性扩展机制,适合部署中小规模的网站或应用。那么云服务器到底适用于哪些情况呢?如果您需要经常原始计算能力,那么使用独立服务器就能满足需求,因为他...

云漫网络Ruan
今天
10
0
Java 中的 String 有没有长度限制

转载: https://juejin.im/post/5d53653f5188257315539f9a String是Java中很重要的一个数据类型,除了基本数据类型以外,String是被使用的最广泛的了,但是,关于String,其实还是有很多东西...

低至一折起
今天
23
0
OpenStack 简介和几种安装方式总结

OpenStack :是一个由NASA和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenSta...

小海bug
昨天
11
0
DDD(五)

1、引言 之前学习了解了DDD中实体这一概念,那么接下来需要了解的就是值对象、唯一标识。值对象,值就是数字1、2、3,字符串“1”,“2”,“3”,值时对象的特征,对象是一个事物的具体描述...

MrYuZixian
昨天
9
0
解决Mac下VSCode打开zsh乱码

1.乱码问题 iTerm2终端使用Zsh,并且配置Zsh主题,该主题主题需要安装字体来支持箭头效果,在iTerm2中设置这个字体,但是VSCode里这个箭头还是显示乱码。 iTerm2展示如下: VSCode展示如下: 2...

HelloDeveloper
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部