TaskScheduler.java
net.minecraft.util.thread.TaskScheduler
信息
- 全限定名:net.minecraft.util.thread.TaskScheduler
- 类型:public interface
- 包:net.minecraft.util.thread
- 源码路径:src/main/java/net/minecraft/util/thread/TaskScheduler.java
- 起始行号:L7
- 继承:AutoCloseable
- 职责:
TODO
字段/常量
- 无
内部类/嵌套类型
- 无
构造器
- 无
方法
下面的方法块按源码顺序生成。
String name() @ L8
- 方法名:name
- 源码定位:L8
- 返回类型:String
- 修饰符:package-private
参数:
- 无
说明:
TODO
void schedule(R r) @ L10
- 方法名:schedule
- 源码定位:L10
- 返回类型:void
- 修饰符:package-private
参数:
- r: R
说明:
TODO
default void close() @ L12
- 方法名:close
- 源码定位:L12
- 返回类型:void
- 修饰符:default
参数:
- 无
说明:
TODO
R wrapRunnable(Runnable runnable) @ L16
- 方法名:wrapRunnable
- 源码定位:L16
- 返回类型:R
- 修饰符:package-private
参数:
- runnable: Runnable
说明:
TODO
default <Source> CompletableFuture<Source> scheduleWithResult(Consumer<CompletableFuture<Source>> futureConsumer) @ L18
- 方法名:scheduleWithResult
- 源码定位:L18
- 返回类型:
CompletableFuture - 修饰符:default
参数:
- futureConsumer: Consumer<CompletableFuture
>
说明:
TODO
static TaskScheduler<Runnable> wrapExecutor(String name, Executor executor) @ L24
- 方法名:wrapExecutor
- 源码定位:L24
- 返回类型:TaskScheduler
- 修饰符:static
参数:
- name: String
- executor: Executor
说明:
TODO
代码
public interface TaskScheduler<R extends Runnable> extends AutoCloseable {
String name();
void schedule(final R r);
@Override
default void close() {
}
R wrapRunnable(final Runnable runnable);
default <Source> CompletableFuture<Source> scheduleWithResult(Consumer<CompletableFuture<Source>> futureConsumer) {
CompletableFuture<Source> future = new CompletableFuture<>();
this.schedule(this.wrapRunnable(() -> futureConsumer.accept(future)));
return future;
}
static TaskScheduler<Runnable> wrapExecutor(String name, Executor executor) {
return new TaskScheduler<Runnable>() {
@Override
public String name() {
return name;
}
@Override
public void schedule(Runnable runnable) {
executor.execute(runnable);
}
@Override
public Runnable wrapRunnable(Runnable runnable) {
return runnable;
}
@Override
public String toString() {
return name;
}
};
}
}引用的其他类
- 无