/** * Create a {@link Scheduler} which uses a backing {@link ExecutorService} to schedule * Runnables for async operators. * * @param executorService an {@link ExecutorService} * * @return a new {@link Scheduler} */ public static Scheduler fromExecutorService(ExecutorService executorService) { return new DelegateServiceScheduler(executorService); }
DelegateServiceScheduler(ExecutorService executorService) { ScheduledExecutorService exec = convert(executorService); this.executor = Schedulers.decorateExecutorService(this, exec); }
@Override public Object scanUnsafe(Attr key) { if (key == Attr.TERMINATED || key == Attr.CANCELLED) return isDisposed(); if (key == Attr.NAME) return Schedulers.FROM_EXECUTOR_SERVICE + "(" + executor + ")"; return Schedulers.scanExecutor(executor, key); }
/** * Create a {@link Scheduler} which uses a backing {@link ExecutorService} to schedule * Runnables for async operators. * * @param executorService an {@link ExecutorService} * * @return a new {@link Scheduler} */ public static Scheduler fromExecutorService(ExecutorService executorService) { return new DelegateServiceScheduler(executorService); }
@Override public Object scanUnsafe(Attr key) { if (key == Attr.TERMINATED || key == Attr.CANCELLED) return isDisposed(); if (key == Attr.NAME) return Schedulers.FROM_EXECUTOR_SERVICE + "(" + executor + ")"; return Schedulers.scanExecutor(executor, key); }
DelegateServiceScheduler(ExecutorService executorService) { ScheduledExecutorService exec = convert(executorService); this.executor = Schedulers.decorateExecutorService(this, exec); }