
并发编程
victorzhzh
这个作者很懒,什么都没留下…
展开
-
ExecutorService生命周期
ExecutorService接口继承了Executor接口,定义了一些生命周期的方法 public interface ExecutorService extends Executor { void shutdown(); List<Runnable> shutdownNow(); boolean isShutdown(); boolean isTerminated(); ...原创 2011-04-20 19:36:07 · 297 阅读 · 0 评论 -
定时且周期性的任务研究I--Timer
很多时候我们希望任务可以定时的周期性的执行,在最初的JAVA工具类库中,通过Timer可以实现定时的周期性的需求,但是有一定的缺陷,例如:Timer是基于绝对时间的而非支持相对时间,因此Timer对系统时钟比较敏感。虽然有一定的问题,但是我们还是从这个最简单的实现开始研究。 首先,我们准备一些讨论问题的类:TimerTask1和TimerLongTask,如下 public class ...原创 2011-04-21 13:50:28 · 237 阅读 · 0 评论 -
定时且周期性的任务研究II--ScheduledThreadPoolExecutor
上一篇中我们看到了Timer的不足之处,本篇我们将围绕这些不足之处看看ScheduledThreadPoolExecutor是如何优化的。 为了研究方便我们需要两个类: public class Task1 implements Callable<String> { @Override public String call() throws Exception { ...2011-04-21 19:45:23 · 163 阅读 · 0 评论 -
阻塞方法引起的任务无法结束
做一个小练习记录一个阻塞方法引起的任务无法结束。 场景如下:一个生成质素的类,多个线程调用这个类生成一系列质素。 质素生成类: public class PrimeGeneratorForeverRun implements Callable<BlockingQueue<BigInteger>> { private final BlockingQueue&l...2011-04-28 14:47:06 · 242 阅读 · 0 评论 -
通过Executors创建创建的线程池分析I
对于线程池主要关心的内容有:线程池的大小控制、池中的队列控制、池饱和时的策略,下面我们从这三个角度来分析一下Executors生成的不同池。 1、ThreadPoolExecutor构造函数介绍: public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, ...2011-05-11 19:43:18 · 161 阅读 · 0 评论