【发布时间】:2014-09-04 08:11:54
【问题描述】:
我已经创建了一个执行器:
public class GUIExecutorService extends AbstractExecutorService {
@Override
public void shutdown() {
}
@Override
public List<Runnable> shutdownNow() {
return new ArrayList<>();
}
@Override
public boolean isShutdown() {
return false;
}
@Override
public boolean isTerminated() {
return false;
}
@Override
public boolean awaitTermination(long timeout, TimeUnit unit) throws InterruptedException {
return true;
}
@Override
public void execute(Runnable command) {
Platform.runLater(command);
}
}
和配置器:
public class JavaFXEventThreadExecutorServiceConfigurator extends ExecutorServiceConfigurator {
public JavaFXEventThreadExecutorServiceConfigurator(Config config, DispatcherPrerequisites prerequisites) {
super(config, prerequisites);
}
@Override
public ExecutorServiceFactory createExecutorServiceFactory(String id, ThreadFactory threadFactory) {
return () -> new GUIExecutorService();
}
}
我确实使用过它:
this.navigatorActor = getContext().actorOf(new Props(() -> new NavigatorActor(stage)).withDispatcher("javafx-dispatcher"), "navigator" );
但是一旦我想在应用程序中停止使用:
actorSystem.shutdown();
我的程序仍在执行。
使用上次关闭我希望它应该关闭所有演员系统。
演员没有终止。
我的代码有什么问题?
【问题讨论】: