多线程
文章平均质量分 85
lipeng_bigdata
这个作者很懒,什么都没留下…
展开
-
多线程之ThreadLocal理解、应用及源码分析
ThreadLocal有一个名称,叫做线程本地变量。它为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量。由此可知,它采用了一种空间换时间的策略,来保证线程间的安全性。它实际上也是程序控制线程封闭的一种机制,不过这种机制是Java自身提供的罢了。原创 2016-03-17 15:21:43 · 5568 阅读 · 5 评论 -
Java并发编程之ConcurrentHashMap
一、什么是ConcurrentHashMap? ConcurrentHashMap是一种线程安全且高效的HashMap。 二、为什么要引入ConcurrentHashMap? 针对Key-Value类型的集合而言,HashMap不是线程安全的,无法在多线程或高并发情况下使用,而Hashtable虽然使用synchronized关键字来保证安全,原创 2016-03-10 22:46:07 · 1096 阅读 · 0 评论 -
java并发包concurrent翻译及源码分析之:ReadWriteLock
java并发包concurrent翻译及源码分析之:ReadWriteLock原创 2016-02-28 00:41:49 · 1101 阅读 · 0 评论 -
Java多线程之ReentrantReadWriteLock
一、锁的种类和含义 Java的concurrent并发包中,存在两种类型的锁,即共享锁和排它锁,后者也叫做独占锁。 共享锁是指某一时刻锁可以被多个线程同时拥有,这些线程同时共享该锁。而排它锁则是指锁在某一时刻只能被一个线程拥有,任何想要获得该锁的线程,必须等待的锁的所有者释放后才可以。 二、ReentrantReadWriteL原创 2016-02-28 16:15:50 · 1436 阅读 · 0 评论 -
ThreadPoolExecutor源码分析(一):重要成员变量
ThreadPoolExecutor是一个通过使用可能几个池线程之一来执行每个提交任务的ExecutorService,这些线程池通常通过Executors工厂方法进行配置。 ThreadPoolExecutor中的线程池处理了两个不同的问题: 1、由于减少了每个任务调用的开销,在执行大量的异步任务时它们通常提供改进的性能; 2、它们提供了边界和管理资源的一种手段,包括多线程,在执行任务集合时的消耗。 每个ThreadPoolExecutor还原创 2016-04-24 14:51:24 · 8573 阅读 · 7 评论 -
ThreadPoolExecutor源码分析(二):任务提交主逻辑execute()
作为一个执行服务ExecutorService的实例,ThreadPoolExecutor的首要任务当然是提交任务进行处理,那么,在任务提交时,ThreadPoolExecutor的处理流程是怎样的?它是一味的开启线程进行处理,还是有一套完整的逻辑来处理呢?本文,我们将继续分析ThreadPoolExecutor,看下它在任务提交时的主逻辑。原创 2016-04-25 17:16:22 · 3584 阅读 · 0 评论