会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
梧留柒
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
下一页
2014年8月21日
《java.util.concurrent 包源码阅读》14 线程池系列之ScheduledThreadPoolExecutor 第一部分
摘要: ScheduledThreadPoolExecutor是ThreadPoolExecutor的子类,同时实现了ScheduledExecutorService接口。public class ScheduledThreadPoolExecutor extends ThreadPoolEx...
阅读全文
posted @ 2014-08-21 11:17 梧留柒
阅读(2983)
评论(0)
推荐(0)
2014年8月20日
《java.util.concurrent 包源码阅读》13 线程池系列之ThreadPoolExecutor 第三部分
摘要: 这一部分来说说线程池如何进行状态控制,即线程池的开启和关闭。先来说说线程池的开启,这部分来看ThreadPoolExecutor构造方法: public ThreadPoolExecutor(int corePoolSize, int ...
阅读全文
posted @ 2014-08-20 21:25 梧留柒
阅读(1555)
评论(1)
推荐(1)
2014年8月15日
《java.util.concurrent 包源码阅读》12 线程池系列之ThreadPoolExecutor 第二部分
摘要: 接着说worker线程是如何工作的。ThreadPoolExecutor有一个成员类叫Worker,所起到的作用就是线程池worker线程的作用。private final class Worker extends AbstractQueuedSynchronizer implements Runn...
阅读全文
posted @ 2014-08-15 10:04 梧留柒
阅读(1851)
评论(0)
推荐(0)
2014年8月14日
《java.util.concurrent 包源码阅读》11 线程池系列之ThreadPoolExecutor 第一部分
摘要: 先来看ThreadPoolExecutor的execute方法,这个方法能体现出一个Task被加入到线程池之后都发生了什么: public void execute(Runnable command) { if (command == null) throw...
阅读全文
posted @ 2014-08-14 10:46 梧留柒
阅读(1927)
评论(0)
推荐(0)
2014年8月13日
《java.util.concurrent 包源码阅读》10 线程池系列之AbstractExecutorService
摘要: AbstractExecutorService对ExecutorService的执行任务类型的方法提供了一个默认实现。这些方法包括submit,invokeAny和InvokeAll。注意的是来自Executor接口的execute方法是未被实现,execute方法是整个体系的核心,所有的任务都是在...
阅读全文
posted @ 2014-08-13 16:25 梧留柒
阅读(2523)
评论(0)
推荐(0)
《java.util.concurrent 包源码阅读》09 线程池系列之介绍篇
摘要: concurrent包中Executor接口的主要类的关系图如下:Executor接口非常单一,就是执行一个Runnable的命令。public interface Executor { void execute(Runnable command);}ExecutorService接口扩展了E...
阅读全文
posted @ 2014-08-13 14:34 梧留柒
阅读(2024)
评论(0)
推荐(1)
2014年8月12日
《java.util.concurrent 包源码阅读》08 CopyOnWriteArrayList和CopyOnWriteArraySet
摘要: CopyOnWriteArrayList和CopyOnWriteArraySet从数据结构类型上来说是类似的,都是用数组实现的保存一组数据的数据结构,区别也简单就是List和set的区别。因此这里就先讨论CopyOnWriteArrayList,然后再说CopyOnWriteArraySet。这里重...
阅读全文
posted @ 2014-08-12 14:36 梧留柒
阅读(1648)
评论(0)
推荐(0)
2014年8月11日
《java.util.concurrent 包源码阅读》07 LinkedBlockingQueue
摘要: 这篇文章来说说稍微复杂一些的LinkedBlockingQueue。LinkedBlockingQueue使用一个链表来实现,会有一个head和tail分别指向队列的开始和队列的结尾。因此LinkedBlockingQueue会有两把锁,分别控制这两个元素,这样在添加元素和拿走元素的时候就不会有锁的...
阅读全文
posted @ 2014-08-11 14:10 梧留柒
阅读(1903)
评论(0)
推荐(0)
2014年8月10日
《java.util.concurrent 包源码阅读》06 ArrayBlockingQueue
摘要: 对于BlockingQueue的具体实现,主要关注的有两点:线程安全的实现和阻塞操作的实现。所以分析ArrayBlockingQueue也是基于这两点。对于线程安全来说,所有的添加元素的方法和拿走元素的方法都会涉及到,我们通过分析offer方法和poll()方法就能看出线程安全是如何实现的。首先来看...
阅读全文
posted @ 2014-08-10 18:45 梧留柒
阅读(1452)
评论(0)
推荐(0)
2014年8月9日
《java.util.concurrent 包源码阅读》05 BlockingQueue
摘要: 想必大家都很熟悉生产者-消费者队列,生产者负责添加元素到队列,如果队列已满则会进入阻塞状态直到有消费者拿走元素。相反,消费者负责从队列中拿走元素,如果队列为空则会进入阻塞状态直到有生产者添加元素到队列。BlockingQueue就是这么一个生产者-消费者队列。BlockingQueue是Queue的...
阅读全文
posted @ 2014-08-09 15:49 梧留柒
阅读(1954)
评论(0)
推荐(0)
上一页
1
2
3
4
下一页
公告