javatm platform
standard ed. 6

java.util.concurrent
接口 scheduledexecutorservice

所有『suǒ yǒu』超级接口:
executor, executorservice
所有已知实现类:
scheduledthreadpoolexecutor

public interface scheduledexecutorservice
extends executorservice

一个 executorservice,可安排在给定的延迟后运行或定期执行的命令『mìng lìng』。

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

executor.execute(java.lang.runnable)executorservicejs随机数submit 方法所提交的命令『mìng lìng』,通过所请求的 0 延迟进行安排。schedule 方法中允许『yǔn xǔ』出现『There』 0 和负数延迟(但不是周期),并将这些视为一种立即执行的请求。

所有的 schedule 方法都接受『jiē shòu』相对 延迟和周期作为参数,而不是绝对的时间或日期。将以 date 所表示的绝对时间转换成要求的形式很容易。例如,要安排在某个以后的 date 运行,可以『can』使用:schedule(task, date.gettime() - system.currenttimemillis(), timeunit.milliseconds)。但是『But』要注意『zhù yì』,由于『yóu yú』网络时间同步协议、时钟漂移或其他『other』因素的存在,因此『 yīn cǐ』相对延迟的期满日期不必与启用任务的当前 date 相符。executors 类为此包中所提供的 scheduledexecutorservice 实现提供了便捷的工厂方法。

用法示例

以下是一个带方法的类,它设置了 scheduledexecutorservice ,在 1 小时内每 10 秒钟蜂鸣一次:
 import static java.util.concurrent.timeunit.*; class beepercontrol {  private final scheduledexecutorservice scheduler=  executors.newscheduledthreadpool(1);  public void beepforanhour() {  final runnable beeper=new runnable() {    public void run() { system.out.println("beep"); }  };  final scheduledfuture<?> beeperhandle=  scheduler.scheduleatfixedrate(beeper, 10, 10, seconds);  scheduler.schedule(new runnable() {    public void run() { beeperhandle.cancel(true); }  }, 60 * 60, seconds);  } } 

从以下版本开始『appeared』:
1.5

方法摘要
<v> scheduledfuture<v>
schedule(callable<v> callable,long delay,timeunit unit)
          创建并执行在给定延迟后启用的 scheduledfuture。
 scheduledfuture<?>schedule(runnable command,long delay,timeunit unit)
          创建并执行在给定延迟后启用的一次性操作。
 scheduledfuture<?>scheduleatfixedrate(runnable command,long initialdelay,long period,timeunit unit)
          创建并执行一个在给定初始延迟后首次启用的定期操作,后续操作具有给定的周期;也就是将在 initialdelay 后开始『appeared』执行,然后在 initialdelay+period 后执行,接着在 initialdelay + 2 * period 后执行,依此类推。
 scheduledfuture<?>schedulewithfixeddelay(runnable command,long initialdelay,long delay,timeunit unit)
          创建并执行一个在给定初始延迟后首次启用的定期操作,随后,在每一次执行终止和下一次执行开始之间都存在给定的延迟。
 
从接口 java.util.concurrent.executorservice 继承的方法
awaittermination, invokeall, invokeall, invokeany, invokeany, isshutdown, isterminated, shutdown, shutdownnow, submit, submit, submit
台南市政府指出,车祸事件发生『occasionally occurred』之后,台南市政府立即掌握相关情况,李孟谚代理市长也立即指示李贤?副秘书长,负责『Responsible』协调?o生、社会、警察『policeman』局等各局处提供相关的协助
一张尼勒瘫软在病床上,地板上放着一个塑胶桶及一卷卫生纸的照片在网路上引发响
我是翁启惠,不擅多言的科学『kē xué』家,沉默不会带给我公义,我正在开始学习慢慢说给大家听
安倍当时显然是担忧,日本『rì běn』本土企业『business』会因未加入该计画而错失很多良好商机
 
从接口 java.util.concurrent.executor 继承的方法
execute
 

方法详细小簊ense』畔

schedule

scheduledfuture<?> schedule(runnable command,      long delay,      timeunit unit)
创建并执行在给定延迟后启用的一次性操作。

参数:
command - 要执行的任务
delay - 从现在开始延迟执行的时间
unit - 延迟参数的时间单位
返回:
表示挂起任务完成的 scheduledfuture,并且其 get() 方法在完成后将返回 null
抛出:
rejectedexecutionexception - 如果无法『to be』安排执行该任务
nullpointerexception - 如果 command 为 null

schedule

<v> scheduledfuture<v> schedule(callable<v> callable,      long delay,      timeunit unit)
创建并执行在给定延迟后启用的 scheduledfuture。

参数:
callable - 要执行的功能
delay - 从现在开始延迟执行的时间
unit - 延迟参数的时间单位
返回:
可用于提取结果或取消的 scheduledfuture
抛出:
rejectedexecutionexception - 如果无法『to be』安排执行该任务
nullpointerexception - 如果 callable 为 null

scheduleatfixedrate

scheduledfuture<?> scheduleatfixedrate(runnable command,        long initialdelay,        long period,        timeunit unit)
创建并执行一个在给定初始延迟后首次启用的定期操作,后续操作具有给定的周期;也就是将在 initialdelay 后开始执行,然后在 initialdelay+period 后执行,接着在 initialdelay + 2 * period 后执行,依此类推。如果任务的任何一个执行遇到异常,则后续执行都会被取消。否则,只能通过执行程序的取消或终止方法来终止该任务。如果此任务的任何一个执行要花费比其周期更长的时间,则将推迟后续执行,但不会同时执行。

参数:
command - 要执行的任务
initialdelay - 首次执行的延迟时间
period - 连续执行之间的周期
unit - initialdelay 和 period 参数的时间单位
返回:
表示挂起任务完成的 scheduledfuture,并且其 get() 方法在取消后将抛出异常
抛出:
rejectedexecutionexception - 如果无法安排执行该任务
nullpointerexception - 如果 command 为 null
illegalargumentexception - 如果 period 小于等于 0

schedulewithfixeddelay

scheduledfuture<?> schedulewithfixeddelayjs随机数(runnable command,       long initialdelay,       long delay,       timeunit unit)
创建并执行一个在给定初始延迟后首次启用的定期操作,随后,在每一次执行终止和下一次执行开始之间都存在给定的延迟。如果任务的任一执行遇到异常,就会取消后续执行。否则,只能通过执行程序的取消或终止方法来终止该任务。

参数:
command - 要执行的任务
initialdelay - 首次执行的延迟时间
delay - 一次执行终止和下一次执行开始之间的延迟
unit - initialdelay 和 delay 参数的时间单位
返回:
表示挂起任务完成的 scheduledfuture,并且其 get() 方法在取消后将抛出异常
抛出:
rejectedexecutionexception - 如果无法安排执行该任务
nullpointerexception - 如果 command 为 null。
illegalargumentexception网站地图 手机端 - 如果 delay 小于等于 0

javatm platform
standard ed. 6

提交错误或意见『yì jian』
有关更多的 api 参考资料和开发『developing』人员文档,请参阅 java se 开发『developing』人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作『gōng zuò』代码示例。

版权所有 2007 sun microsystems, inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策