Java多线程系列--“JUC线程池”01之 线程池架构(三)

2014-11-24 02:50:33 · 作者: · 浏览: 7
utor。
4 ScheduledThreadPoolExecutor(int corePoolSize, RejectedExecutionHandler handler)
5 // 使用给定的初始参数创建一个新 ScheduledThreadPoolExecutor。
6 ScheduledThreadPoolExecutor(int corePoolSize, ThreadFactory threadFactory)
7 // 使用给定初始参数创建一个新 ScheduledThreadPoolExecutor。
8 ScheduledThreadPoolExecutor(int corePoolSize, ThreadFactory threadFactory, RejectedExecutionHandler handler)
9
10 // 修改或替换用于执行 callable 的任务。
11 protected RunnableScheduledFuture decorateTask(Callable callable, RunnableScheduledFuture task)
12 // 修改或替换用于执行 runnable 的任务。
13 protected RunnableScheduledFuture decorateTask(Runnable runnable, RunnableScheduledFuture task)
14 // 使用所要求的零延迟执行命令。
15 void execute(Runnable command)
16 // 获取有关在此执行程序已 shutdown 的情况下、是否继续执行现有定期任务的策略。
17 boolean getContinueExistingPeriodicTasksAfterShutdownPolicy()
18 // 获取有关在此执行程序已 shutdown 的情况下是否继续执行现有延迟任务的策略。
19 boolean getExecuteExistingDelayedTasksAfterShutdownPolicy()
20 // 返回此执行程序使用的任务队列。
21 BlockingQueue getQueue()
22 // 从执行程序的内部队列中移除此任务(如果存在),从而如果尚未开始,则其不再运行。
23 boolean remove(Runnable task)
24 // 创建并执行在给定延迟后启用的 ScheduledFuture。
25 ScheduledFuture schedule(Callable callable, long delay, TimeUnit unit)
26 // 创建并执行在给定延迟后启用的一次性操作。
27 ScheduledFuture< > schedule(Runnable command, long delay, TimeUnit unit)
28 // 创建并执行一个在给定初始延迟后首次启用的定期操作,后续操作具有给定的周期;也就是将在 initialDelay 后开始执行,然后在 initialDelay+period 后执行,接着在 initialDelay + 2 * period 后执行,依此类推。
29 ScheduledFuture< > scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit)
30 // 创建并执行一个在给定初始延迟后首次启用的定期操作,随后,在每一次执行终止和下一次执行开始之间都存在给定的延迟。
31 ScheduledFuture< > scheduleWithFixedDelay(Runnable command, long initialDelay, long delay, TimeUnit unit)
32 // 设置有关在此执行程序已 shutdown 的情况下是否继续执行现有定期任务的策略。
33 void setContinueExistingPeriodicTasksAfterShutdownPolicy(boolean value)
34 // 设置有关在此执行程序已 shutdown 的情况下是否继续执行现有延迟任务的策略。
35 void setExecuteExistingDelayedTasksAfterShutdownPolicy(boolean value)
36 // 在以前已提交任务的执行中发起一个有序的关闭,但是不接受新任务。
37 void shutdown()
38 // 尝试停止所有正在执行的任务、暂停等待任务的处理,并返回等待执行的任务列表。
39 List shutdownNow()
40 // 提交一个返回值的任务用于执行,返回一个表示任务的未决结果的 Future。
41 Future submit(Callable task)
42 // 提交一个 Runnable 任务用于执行,并返回一个表示该任务的 Future。
43 Future< > submit(Runnable task)
44 // 提交一个 Runnable 任务用于执行,并返回一个表示该任务的 Future。
45 Future submit(Runnable task, T result)
复制代码
7. Executors
Executors是个静态工厂类。它通过静态工厂方法返回ExecutorService、ScheduledExecutorService、ThreadFactory 和 Callable 等类的对象。
Executors函数列表
复制代码
1 // 返回 Callable 对象,调用它时可运行给定特权的操作并返回其结果。
2 static Callable callable(PrivilegedAction< > action)
3 // 返回 Callable 对象,调用它时可运行给定特权的异常操作并返回其结果。
4 static Callable callable(PrivilegedExceptionAction< > action)
5 // 返回 Callable 对象,调用它时可运行给定的任务并返回 null。
6 static Callable callable(Runnable task)
7 // 返回 Callable 对象,调用它时可运行给定的任务并返回给定的结果。
8 static Callable callable(Runnable task, T result)
9 // 返回用于创建新线程的默认线程工厂。
10 static ThreadFactory defaultThreadFactory()
11 // 创建一个可根据需要创建新线程的线程池,但是在以前构造的线程可用时将重用它们。
12 static ExecutorService newCachedThreadPool()
13 // 创建一个可根据需要创建新线程的线程池,但是在以前构造的线程可用时将重用它们,并在需要时使用提供的 ThreadFactory 创建新线程。
14 static ExecutorService newC