类com.intellij.util.concurrency.QueueProcessor源码实例Demo

下面列出了怎么用com.intellij.util.concurrency.QueueProcessor的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: intellij-haxe   文件: HaxeDebugRunner.java
public DebugProcess(@NotNull XDebugSession session,
                    Project project, Module module,
                    int port) throws IOException {
  super(session);
  mClassesWithStatics = new Vector<String>();
  mProject = project;
  mModule = module;
  mDeferredQueue =
    new LinkedList<Pair<debugger.Command, MessageListener>>();
  mListenerQueue = new LinkedList<MessageListener>();
  mServerSocket = new java.net.ServerSocket(port);
  mBreakpointHandlers = this.createBreakpointHandlers();
  mMap =
    new HashMap<XLineBreakpoint<XBreakpointProperties>, Integer>();

  mWriteQueue = QueueProcessor.createRunnableQueueProcessor(QueueProcessor.ThreadToUse.POOLED);
}
 
源代码2 项目: consulo   文件: Alarm.java
private void runSafely(@Nullable Runnable task) {
  try {
    if (!myDisposed && task != null) {
      QueueProcessor.runSafely(task);
    }
  }
  finally {
    /** remove from the list after execution to be able for {@link #waitForAllExecuted(long, TimeUnit)} to wait for completion */
    synchronized (LOCK) {
      myRequests.remove(this);
      myFuture = null;
    }
  }
}
 
源代码3 项目: consulo   文件: SequentialLimitedLifoExecutor.java
public SequentialLimitedLifoExecutor(Disposable parentDisposable, int maxTasks,
                                     @Nonnull ThrowableConsumer<Task, ? extends Throwable> loadProcess) {
  myMaxTasks = maxTasks;
  myLoadProcess = loadProcess;
  myLoader = new QueueProcessor<>(new DetailsLoadingTask());
  Disposer.register(parentDisposable, this);
}
 
public FlutterConsoleLogManager(@NotNull ConsoleView console, @NotNull FlutterApp app) {
  this.console = console;
  this.app = app;

  assert (app.getVmService() != null);
  this.service = app.getVmService();

  app.addStateListener(new FlutterApp.FlutterAppListener() {
    @Override
    public void notifyFrameRendered() {
      frameErrorCount = 0;
    }

    @Override
    public void stateChanged(FlutterApp.State newState) {
      frameErrorCount = 0;
    }

    @Override
    public void notifyAppReloaded() {
      frameErrorCount = 0;
    }

    @Override
    public void notifyAppRestarted() {
      frameErrorCount = 0;
    }
  });

  assert (app.getFlutterDebugProcess() != null);
  objectGroup = InspectorService.createGroup(app, app.getFlutterDebugProcess(), app.getVmService(), "console-group");
  objectGroup.whenCompleteAsync((group, error) -> {
    if (group != null) {
      Disposer.register(app, group.getInspectorService());
    }
  });

  if (queue == null) {
    queue = QueueProcessor.createRunnableQueueProcessor();
  }
}
 
public FlutterConsoleLogManager(@NotNull ConsoleView console, @NotNull FlutterApp app) {
  this.console = console;
  this.app = app;

  assert (app.getVmService() != null);
  this.service = app.getVmService();

  app.addStateListener(new FlutterApp.FlutterAppListener() {
    @Override
    public void notifyFrameRendered() {
      frameErrorCount = 0;
    }

    @Override
    public void stateChanged(FlutterApp.State newState) {
      frameErrorCount = 0;
    }

    @Override
    public void notifyAppReloaded() {
      frameErrorCount = 0;
    }

    @Override
    public void notifyAppRestarted() {
      frameErrorCount = 0;
    }
  });

  assert (app.getFlutterDebugProcess() != null);
  objectGroup = InspectorService.createGroup(app, app.getFlutterDebugProcess(), app.getVmService(), "console-group");
  objectGroup.whenCompleteAsync((group, error) -> {
    if (group != null) {
      Disposer.register(app, group.getInspectorService());
    }
  });

  if (queue == null) {
    queue = QueueProcessor.createRunnableQueueProcessor();
  }
}
 
源代码6 项目: consulo   文件: BackgroundTaskQueue.java
public BackgroundTaskQueue(@Nullable Project project, @Nonnull String title) {
  myTitle = title;

  Condition disposeCondition = project != null ? project.getDisposed() : ApplicationManager.getApplication().getDisposed();
  myProcessor = new QueueProcessor<>(TaskData::consume, true, ThreadToUse.AWT, disposeCondition);
}
 
 类所在包
 类方法
 同包方法