
java.util.concurrent源码分析
liucw_cn
喜爱java
展开
-
Java并发---- Executor并发框架--线程池,ThreadToolExecutor初步理解
对于数据库连接,我们经常听到数据库连接池这个概念。因为建立数据库连接时非常耗时的一个操作,其中涉及到网络IO的一些操作。因此就想出把连接通过一个连接池来管理。需要连接的话,就从连接池里取一个。当使用完了,就“关闭”连接,这不是正在意义上的关闭,只是把连接放回到我们的池里,供其他人在使用。所以对于线程,也有了线程池这个概念,其中的原理和数据库连接池是差不多的,因此java jdk中也提供了线程池的功原创 2016-11-05 13:36:42 · 7295 阅读 · 0 评论 -
Java并发---- Executor并发框架--ThreadToolExecutor类详解(execute方法,关闭方法)
1、构造方法请参考上篇文章:http://blog.youkuaiyun.com/ochangwen/article/details/530447332、源码详解线程池内部有一些状态,先来了解下这些状态的机制。以下用代码注释的方式来解释其中的含义。/*这个是用一个int来表示workerCount和runState的,其中runState占int的高3位,其它29位为wor原创 2016-11-05 19:03:07 · 6713 阅读 · 5 评论 -
Java并发----ArrayBlockingQueue
Java中有些多线程编程模式在很大程序上都依赖于Queue实现的线程安全性,所以非常有必要认识,首先来看一下接口定义,如下: public interface Queue extends Collection { // 向队列中添加元素 boolean add(E e); boolean offer(E e);原创 2016-11-06 22:46:16 · 846 阅读 · 0 评论 -
Java并发----ConcurrentHashMap02--源码分析
通过分析Hashtable就知道,synchronized是针对整张Hash表的,即每次锁住整张表让线程独占,ConcurrentHashMap允许多个修改操作并发进行,其关键在于使用了锁分离技术。它使用了多个锁来控制对hash表的不同部分进行的修改。ConcurrentHashMap内部使用段(Segment)来表示这些不同的部分,每个段其实就是一个小的hash table,它们有自己的锁。只要原创 2016-11-06 21:46:36 · 1101 阅读 · 0 评论