예제 #1
0
 @Override
 public void onDisable() {
   thread.interrupt();
   callbackManager.exit();
   if (mainThreadExecutor != null) mainThreadExecutor.exit();
   thread = null;
   runningWorkers.remove(getClass());
 }
예제 #2
0
 @Override
 public void onEnable() {
   if (thread != null && thread.isAlive()) {
     PluginLogger.warning("Restarting thread '{0}'.", name);
     onDisable();
   }
   callbackManager.init();
   if (mainThreadExecutor != null) mainThreadExecutor.init();
   runningWorkers.put(getClass(), this);
   thread = createThread();
   thread.start();
 }
예제 #3
0
 private <T> Future<T> _submitToMainThread(Callable<T> callable) {
   if (mainThreadExecutor != null) return mainThreadExecutor.submit(callable);
   return null;
 }