java.lang.Object
cn.wjybxx.concurrent.PromiseTask<V>
- 所有已实现的接口:
IFutureTask<V>,ITask,Runnable
ps:该类的数据是(部分)开放的,以支持不同的扩展。
- 作者:
- wjybxx date - 2024/1/8
-
字段概要
字段修饰符和类型字段说明protected int控制标记protected IContext任务上下文protected static final int是否已经声明任务的归属权protected static final int优先级的掩码 - 4bit,求值频率较高,放在低位protected static final int调度类型的掩码 -- 4bit,最大16种,可支持复杂的调度protected static final int分时任务是否已启动protected static final int分时任务是否已停止protected static final int任务类型的掩码 -- 4bit,最大16种,可省去大量的instanceof测试protected static final int延时任务有超时时间protected static final int延时任务已触发过protected static final int最大优先级protected static final intprotected static final int调度类型的偏移量protected static final int任务类型的偏移量protected final int调度选项任务关联的promise - 用户可能在任务完成后继续访问,因此不能清理 -
构造器概要
构造器构造器说明PromiseTask(TaskBuilder<V> builder, IPromise<V> promise) PromiseTask(Object task, IContext ctx, int options, IPromise<V> promise) PromiseTask(Object task, IContext ctx, int options, IPromise<V> promise, int taskType) -
方法概要
修饰符和类型方法说明voidclear()future()获取任务绑的Promise - 允许子类重写返回值类型protected final booleangetCtlBit(int mask) 获取ctl中的某个bitfinal int任务的调度选项final ObjectgetTask()获取绑定的任务final int获取任务的类型 -- 在可能包含分时任务的情况下要进行判断final booleanisEnabled(int taskOption) 任务是否启用了指定选项protected final boolean分时任务是否启动static PromiseTask<?> static PromiseTask<?> static <V> PromiseTask<V> ofBuilder(TaskBuilder<V> builder, IPromise<V> promise) static <V> PromiseTask<V> ofFunction(Callable<? extends V> action, IContext ctx, int options, IPromise<V> promise) static <V> PromiseTask<V> ofFunction(Function<? super IContext, ? extends V> action, IContext ctx, int options, IPromise<V> promise) voidrun()run方法应当使IFutureTask.future()进入完成状态protected final VrunTask()运行其它类型任务protected final void运行分时任务protected final voidsetCtlBit(int mask, boolean value) 设置ctl中的某个bitprotected final void将分时任务标记为已启动protected static voidtrySetCancelled(IPromise<?> promise, IContext ctx) protected static voidtrySetCancelled(IPromise<?> promise, IContext ctx, int def)
-
字段详细资料
-
MASK_PRIORITY
protected static final int MASK_PRIORITY优先级的掩码 - 4bit,求值频率较高,放在低位- 另请参阅:
-
MASK_TASK_TYPE
protected static final int MASK_TASK_TYPE任务类型的掩码 -- 4bit,最大16种,可省去大量的instanceof测试- 另请参阅:
-
MASK_SCHEDULE_TYPE
protected static final int MASK_SCHEDULE_TYPE调度类型的掩码 -- 4bit,最大16种,可支持复杂的调度- 另请参阅:
-
MASK_CLAIMED
protected static final int MASK_CLAIMED是否已经声明任务的归属权- 另请参阅:
-
MASK_STARTED
protected static final int MASK_STARTED分时任务是否已启动- 另请参阅:
-
MASK_STOPPED
protected static final int MASK_STOPPED分时任务是否已停止- 另请参阅:
-
MASK_TIMEOUT
protected static final int MASK_TIMEOUT延时任务有超时时间- 另请参阅:
-
MASK_TRIGGERED
protected static final int MASK_TRIGGERED延时任务已触发过- 另请参阅:
-
OFFSET_PRIORITY
protected static final int OFFSET_PRIORITY- 另请参阅:
-
OFFSET_TASK_TYPE
protected static final int OFFSET_TASK_TYPE任务类型的偏移量- 另请参阅:
-
OFFSET_SCHEDULE_TYPE
protected static final int OFFSET_SCHEDULE_TYPE调度类型的偏移量- 另请参阅:
-
MAX_PRIORITY
protected static final int MAX_PRIORITY最大优先级- 另请参阅:
-
ctx
任务上下文 -
options
protected final int options调度选项 -
promise
任务关联的promise - 用户可能在任务完成后继续访问,因此不能清理 -
ctl
protected int ctl控制标记
-
-
构造器详细资料
-
PromiseTask
- 参数:
task- 用户的任务,支持的类型见TaskBuilder.taskType(Object)ctx- 任务关联的上下文options- 任务的调度选项promise- 任务关联的promise
-
PromiseTask
- 参数:
builder- 任务构建器promise- 任务关联的promise
-
PromiseTask
-
-
方法详细资料
-
ofAction
public static PromiseTask<?> ofAction(Runnable action, IContext ctx, int options, IPromise<?> promise) -
ofAction
public static PromiseTask<?> ofAction(Consumer<? super IContext> action, IContext ctx, int options, IPromise<?> promise) -
ofFunction
public static <V> PromiseTask<V> ofFunction(Callable<? extends V> action, IContext ctx, int options, IPromise<V> promise) -
ofFunction
public static <V> PromiseTask<V> ofFunction(Function<? super IContext, ? extends V> action, IContext ctx, int options, IPromise<V> promise) -
ofBuilder
-
getOptions
public final int getOptions()从接口复制的说明:ITask任务的调度选项- 指定者:
getOptions在接口中ITask
-
isEnabled
public final boolean isEnabled(int taskOption) 任务是否启用了指定选项 -
getTask
获取绑定的任务 -
getTaskType
public final int getTaskType()获取任务的类型 -- 在可能包含分时任务的情况下要进行判断 -
isStarted
protected final boolean isStarted()分时任务是否启动 -
setStarted
protected final void setStarted()将分时任务标记为已启动 -
getCtlBit
protected final boolean getCtlBit(int mask) 获取ctl中的某个bit -
setCtlBit
protected final void setCtlBit(int mask, boolean value) 设置ctl中的某个bit -
future
获取任务绑的Promise - 允许子类重写返回值类型- 指定者:
future在接口中IFutureTask<V>
-
clear
public void clear() -
runTimeSharing
运行分时任务- 抛出:
Exception
-
runTask
运行其它类型任务- 抛出:
Exception
-
run
public void run()从接口复制的说明:IFutureTaskrun方法应当使IFutureTask.future()进入完成状态- 指定者:
run在接口中IFutureTask<V>- 指定者:
run在接口中Runnable
-
trySetCancelled
-
trySetCancelled
-