黑马程序员之7K面试题-线程类补充资料

---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------

1、Executors类

Java.util.concurrent.Executors

Public class Executors extendsObject 此包中所定义的ExecutorExecutorServiceScheduledExecutorServiceThreadFactoryCallable 类的工厂和实用方法。此类支持以下各种方法:

  • 创建并返回设置有常用配置字符串的 ExecutorService 的方法。
  • 创建并返回设置有常用配置字符串的 ScheduledExecutorService 的方法。
  • 创建并返回“包装的”ExecutorService 方法,它通过使特定于实现的方法不可访问来禁用重新配置。
  • 创建并返回 ThreadFactory 的方法,它可将新创建的线程设置为已知的状态。
  • 创建并返回非闭包形式的 Callable 的方法,这样可将其用于需要 Callable 的执行方法中。

从以下版本开始:

1.5

2、接口 ScheduledExecutorService

所有超级接口:

Executor, ExecutorService

所有已知实现类:

ScheduledThreadPoolExecutor


public interface ScheduledExecutorService
extends ExecutorService

一个 ExecutorService,可安排在给定的延迟后运行或定期执行的命令。

schedule 方法使用各种延迟创建任务,并返回一个可用于取消或检查执行的任务对象。scheduleAtFixedRatescheduleWithFixedDelay 方法创建并执行某些在取消前一直定期运行的任务。

Executor.execute(java.lang.Runnable)ExecutorServicesubmit 方法所提交的命令,通过所请求的 0 延迟进行安排。schedule 方法中允许出现 0 和负数延迟(但不是周期),并将这些视为一种立即执行的请求。

所有的 schedule 方法都接受相对 延迟和周期作为参数,而不是绝对的时间或日期。将以Date 所表示的绝对时间转换成要求的形式很容易。例如,要安排在某个以后的Date 运行,可以使用:schedule(task, date.getTime() - System.currentTimeMillis(),TimeUnit.MILLISECONDS)。但是要注意,由于网络时间同步协议、时钟漂移或其他因素的存在,因此相对延迟的期满日期不必与启用任务的当前Date 相符。 Executors 类为此包中所提供的 ScheduledExecutorService 实现提供了便捷的工厂方法。

3、scheduleWithFixedDelay

public ScheduledFuture<?> scheduleWithFixedDelay(Runnable command,

                                                long initialDelay,

                                                long delay,

                                                TimeUnit unit)

从接口 ScheduledExecutorService复制的描述

创建并执行一个在给定初始延迟后首次启用的定期操作,随后,在每一次执行终止和下一次执行开始之间都存在给定的延迟。如果任务的任一执行遇到异常,就会取消后续执行。否则,只能通过执行程序的取消或终止方法来终止该任务。

指定者:

接口 ScheduledExecutorService 中的scheduleWithFixedDelay

参数:

command - 要执行的任务

initialDelay - 首次执行的延迟时间

delay - 一次执行终止和下一次执行开始之间的延迟

unit -initialDelay 和 delay 参数的时间单位

返回:

表示挂起任务完成的ScheduledFuture,并且其 get() 方法在取消后将抛出异常

4、execute

public void execute(Runnable command)

使用所要求的零延迟执行命令。这在效果上等同于调用 schedule(command, 0, anyUnit)。注意,对由shutdownNow 所返回的队列和列表的检查将访问零延迟的ScheduledFuture,而不是 command 本身。

指定者:

接口 Executor 中的execute

覆盖:

ThreadPoolExecutor 中的execute

参数:

command - 要执行的任务。

抛出:

由 -RejectedExecutionHandler 随意决定的RejectedExecutionException,如果由于执行程序已关闭而无法接受要执行的任务 。

NullPointerException - 如果 command 为 null。

 

---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值