![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java并发
crazykiller
E-Mail:zxyrocket@163.com 积极向上,谦虚谨慎 和大家一起分享是一种快乐
展开
-
Java并发编程的艺术(九)——批量获取多条线程的执行结果
当向线程池提交callable任务后,我们可能需要一次性获取所有返回结果,有三种处理方法。方法一:自己维护返回结果// 创建一个线程池ExecutorService executorService = Executors.newFixedThreadPool(10);// 存储执行结果的ListList> results = new ArrayList>();// 提交10个任转载 2017-08-04 15:20:58 · 233 阅读 · 0 评论 -
Java并发编程的艺术(七)——Executors
Executors框架简介Executor框架便是Java5中引入的,其内部使用了线程池机制,它在Java.util.cocurrent 包下,通过该框架来控制线程的启动、执行和关闭,可以简化并发编程的操作。因此,在java5之后,通过Executor来启动线程比使用Thread的start方法更好,除了更易管理,效率更好(用线程池实现,节约开销)外,还有关键的一点:有助于避免this转载 2017-08-04 15:25:55 · 200 阅读 · 0 评论 -
Java并发容器大合集
概述 java.util包中的大部分容器都是非线程安全的,若要在多线程中使用容器,你可以使用Collections提供的包装函数:synchronizedXXX,将普通容器变成线程安全的容器。但该方法仅仅是简单地给容器使用同步,效率很低。因此并发大师Doug Lea提供了java.util.concurrent包,提供高效的并发容器。并且为了保持与普通的容器的接口一致性,仍然使用转载 2017-08-04 15:30:32 · 321 阅读 · 0 评论 -
Java并发编程的艺术(十)——线程池(1)
线程池的作用减少资源的开销 减少了每次创建线程、销毁线程的开销。提高响应速度 每次请求到来时,由于线程的创建已经完成,故可以直接执行任务,因此提高了响应速度。提高线程的可管理性 线程是一种稀缺资源,若不加以限制,不仅会占用大量资源,而且会影响系统的稳定性。 因此,线程池可以对线程的创建与停止、线程数量等等因素加以控制,使得线程在一种可控的范围内运行,不仅转载 2017-08-07 10:24:29 · 246 阅读 · 0 评论 -
Java并发编程的艺术(十一)——线程池(2)
Executor两级调度模型在HotSpot虚拟机中,Java中的线程将会被一一映射为操作系统的线程。在Java虚拟机层面,用户将多个任务提交给Executor框架,Executor负责分配线程执行它们; 在操作系统层面,操作系统再将这些线程分配给处理器执行。Executor结构Executor框架中的所有类可以分成三类:任务 任务有两种类型:R转载 2017-08-07 10:24:58 · 221 阅读 · 0 评论