- 所有超级接口:
AutoCloseable,Executor,ExecutorService,IExecutor,IExecutorService
- 所有已知子接口:
UniScheduledExecutor
- 所有已知实现类:
AbstractUniExecutor,AbstractUniScheduledExecutor,DefaultUniExecutor,DefaultUniScheduledExecutor
用于在当前线程延迟执行任务的Executor --
IExecutorService。
即:该Executor仍然在当前线程(提交任务的线程)执行提交的任务,只是会延迟执行。
时序要求
我们限定逻辑是在当前线程执行的,必须保证先提交的任务先执行。限制单帧任务数
由于是在当前线程执行对应的逻辑,因而必须限制单帧执行的任务数,以避免占用过多的资源,同时,限定单帧任务数可避免死循环。外部驱动
由于仍然是在当前线程执行,因此需要外部进行驱动,外部需要定时调用update()
指定执行阶段
如果Executor支持在特定的阶段执行给定的任务,需要响应TaskOption.MASK_SCHEDULE_PHASE指定的阶段。- 作者:
- wjybxx date 2023/4/3
-
方法概要
修饰符和类型方法说明invokeAll(Collection<? extends Callable<T>> tasks) 已过时。invokeAll(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit) 已过时。default <T> TinvokeAny(Collection<? extends Callable<T>> tasks) 已过时。default <T> TinvokeAny(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit) 已过时。boolean是否需要更多的Update。voidupdate()心跳方法 外部需要每一帧调用该方法以执行任务。从接口继承的方法 java.util.concurrent.ExecutorService
close从接口继承的方法 cn.wjybxx.concurrent.IExecutorService
awaitTermination, isShutdown, isShuttingDown, isTerminated, newPromise, shutdown, shutdownNow, submit, submit, submit, submit, submitAction, submitAction, submitAction, submitAction, submitFunc, submitFunc, submitFunc, submitFunc, terminationFuture
-
方法详细资料
-
update
void update()心跳方法 外部需要每一帧调用该方法以执行任务。 -
needMoreUpdate
boolean needMoreUpdate()是否需要更多的Update。为避免死循环或占用过多cpu,单次
update()可能存在一些限制,因此可能未执行所有的可执行任务。 该方法用于探测是否还有可执行的任务,如果外部可以分配更多的资源。- 返回:
- 如果还有可执行任务则返回true,否则返回false
-
invokeAll
已过时。- 指定者:
invokeAll在接口中ExecutorService- 指定者:
invokeAll在接口中IExecutorService
-
invokeAll
@Deprecated @Nonnull default <T> List<Future<T>> invokeAll(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit) 已过时。- 指定者:
invokeAll在接口中ExecutorService- 指定者:
invokeAll在接口中IExecutorService
-
invokeAny
已过时。- 指定者:
invokeAny在接口中ExecutorService- 指定者:
invokeAny在接口中IExecutorService
-
invokeAny
@Deprecated default <T> T invokeAny(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit) 已过时。- 指定者:
invokeAny在接口中ExecutorService- 指定者:
invokeAny在接口中IExecutorService
-