reactor-core-2.0.8.RELEASE-sources.jar!/reactor/core/dispatch/ThreadPoolExecutorDispatcher.javajava
/** * Create a new {@literal ThreadPoolExecutorDispatcher} with the given size, backlog, name, and {@link * java.util.concurrent.RejectedExecutionHandler}. * * @param poolSize * the pool size * @param backlog * the backlog size * @param threadName * the name prefix to use when creating threads * @param rejectedExecutionHandler * the {@code RejectedExecutionHandler} to use when jobs can't be submitted to the thread pool */ public ThreadPoolExecutorDispatcher(int poolSize, int backlog, String threadName, BlockingQueue<Runnable> workQueue, RejectedExecutionHandler rejectedExecutionHandler) { super(poolSize, backlog); this.workQueue = workQueue; this.executor = new ThreadPoolExecutor( poolSize, poolSize, 0L, TimeUnit.MILLISECONDS, workQueue, new NamedDaemonThreadFactory(threadName, getContext()), rejectedExecutionHandler ); }
配置文件的size,對應ThreadPoolExecutor的corePoolSize以及maximumPoolSizereact
Dispatcher dispatcher = new ThreadPoolExecutorDispatcher(5, 2048,"dispatcherGroup", new LinkedBlockingQueue<Runnable>(2048), new ThreadPoolExecutor.DiscardOldestPolicy()); EventBus eventBus = EventBus.create(eventBusEnv,dispatcher);