計時器 (僅限 Bukkit)
計時器的 Service 名稱為 ScheduleService
在 BukkitRunnable 使用依賴注入
@Commander(
name = "one",
description = "one scheduler"
)
public class TestSchedulerOneCommand implements CommandNode {
@Inject
private ScheduleService service;
@Override
public void execute(CommandSender commandSender) {
commandSender.sendMessage("wait for 5 secs");
service.injectTask(new BukkitRunnable() {
@Inject // 使用依賴注入
private ScheduleService service;
@Override
public void run() {
commandSender.sendMessage("scheduler service instance inside bukkit runnable is "+(service == null ? "null" : "not null !"));
}
}).asynchronous(false) // 是否異步
.timeout(100L) // 延遲
.run(ELDTester.getProvidingPlugin(ELDTester.class));
}
}異步與同步的切換執行與數值呼叫傳遞
阻塞運行及等待多個或單一異步事件運行完成
最后更新于