java.lang.Object
cn.wjybxx.concurrent.TaskOptionBuilder
cn.wjybxx.concurrent.TaskBuilder<V>
cn.wjybxx.concurrent.ScheduledTaskBuilder<V>
该对象为临时对象,应避免共享
- 作者:
- wjybxx date 2023/4/14
-
字段概要
字段修饰符和类型字段说明static final byte动态延迟 -- 每次执行后计算下一次的延迟static final byte固定延迟 -- 两次执行的间隔大于等于给定的延迟static final byte固定频率 -- 执行次数static final byte执行一次从类继承的字段 cn.wjybxx.concurrent.TaskBuilder
TYPE_ACTION, TYPE_ACTION_CTX, TYPE_FUNC, TYPE_FUNC_CTX, TYPE_TASK, TYPE_TIMESHARING -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明disable(int taskOption) 禁用选项enable(int taskOption) 启用选项longlongintlongboolean是否设置了超时时间booleanbooleanbooleanbooleanstatic ScheduledTaskBuilder<?> static <V> ScheduledTaskBuilder<V> static <V> ScheduledTaskBuilder<V> static <V> ScheduledTaskBuilder<V> static <V> ScheduledTaskBuilder<V> newTimeSharing(TimeSharingTask<? super V> task) static <V> ScheduledTaskBuilder<V> newTimeSharing(TimeSharingTask<? super V> task, IContext ctx) 任务的上下文 即使用户的任务不接收ctx,executor也可能需要setFixedDelay(long initialDelay, long period) setFixedDelay(long initialDelay, long period, TimeUnit unit) setFixedRate(long initialDelay, long period) setFixedRate(long initialDelay, long period, TimeUnit unit) setOnlyOnce(long delay) setOnlyOnce(long delay, TimeUnit unit) setOptions(int options) setPriority(int priority) 设置任务的优先级setSchedulePhase(int phase) setTimeout(long timeout) 设置周期性任务的超时时间(非分时任务也可以)setTimeoutByCount(int count) 通过预估执行次数限制超时时间 该方法对于fixedRate类型的任务有帮助setTimeUnit(TimeUnit timeUnit) 设置时间单位static voidvalidateInitialDelay(long initialDelay) 适用于禁止初始延迟小于0的情况static voidvalidatePeriod(long period) 从类继承的方法 cn.wjybxx.concurrent.TaskBuilder
getCtx, getTask, getType, taskType, toScheduledBuilder从类继承的方法 cn.wjybxx.concurrent.TaskOptionBuilder
getOptions, getPriority, getSchedulePhase
-
字段详细资料
-
SCHEDULE_ONCE
public static final byte SCHEDULE_ONCE执行一次- 另请参阅:
-
SCHEDULE_FIXED_DELAY
public static final byte SCHEDULE_FIXED_DELAY固定延迟 -- 两次执行的间隔大于等于给定的延迟- 另请参阅:
-
SCHEDULE_FIXED_RATE
public static final byte SCHEDULE_FIXED_RATE固定频率 -- 执行次数- 另请参阅:
-
SCHEDULE_DYNAMIC_DELAY
public static final byte SCHEDULE_DYNAMIC_DELAY动态延迟 -- 每次执行后计算下一次的延迟- 另请参阅:
-
-
构造器详细资料
-
ScheduledTaskBuilder
-
-
方法详细资料
-
newAction
-
newAction
-
newFunc
-
newFunc
public static <V> ScheduledTaskBuilder<V> newFunc(Function<IContext, ? extends V> task, IContext ctx) -
newTimeSharing
-
newTimeSharing
public static <V> ScheduledTaskBuilder<V> newTimeSharing(TimeSharingTask<? super V> task, IContext ctx) -
validateInitialDelay
public static void validateInitialDelay(long initialDelay) 适用于禁止初始延迟小于0的情况 -
validatePeriod
public static void validatePeriod(long period) -
getScheduleType
public int getScheduleType() -
getInitialDelay
public long getInitialDelay() -
getPeriod
public long getPeriod() -
isPeriodic
public boolean isPeriodic() -
isOnlyOnce
public boolean isOnlyOnce() -
setOnlyOnce
-
setOnlyOnce
-
isFixedDelay
public boolean isFixedDelay() -
setFixedDelay
-
setFixedDelay
-
isFixedRate
public boolean isFixedRate() -
setFixedRate
-
setFixedRate
-
setTimeout
设置周期性任务的超时时间(非分时任务也可以)注意: 1. -1表示无限制,大于等于0表示有限制 2. 我们总是在执行任务后检查是否超时,以确保至少会执行一次 3. 超时是一个不准确的调度,不保证超时后能立即结束
-
setTimeoutByCount
通过预估执行次数限制超时时间 该方法对于fixedRate类型的任务有帮助- 参数:
count- 期望的执行次数
-
getTimeout
public long getTimeout() -
hasTimeout
public boolean hasTimeout()是否设置了超时时间 -
setTimeUnit
设置时间单位 -
getTimeUnit
-
enable
从类复制的说明:TaskOptionBuilder启用选项- 覆盖:
enable在类中TaskBuilder<V>
-
disable
从类复制的说明:TaskOptionBuilder禁用选项- 覆盖:
disable在类中TaskBuilder<V>
-
setSchedulePhase
- 覆盖:
setSchedulePhase在类中TaskBuilder<V>- 参数:
phase- 任务的调度阶段
-
setPriority
从类复制的说明:TaskOptionBuilder设置任务的优先级- 覆盖:
setPriority在类中TaskBuilder<V>
-
setOptions
- 覆盖:
setOptions在类中TaskBuilder<V>
-
setCtx
从类复制的说明:TaskBuilder任务的上下文 即使用户的任务不接收ctx,executor也可能需要- 覆盖:
setCtx在类中TaskBuilder<V>
-