如何实例化LMAX Disruptor实现顺序处理(规避废弃构造器警告)
LMAX Disruptor 3 替换废弃Executor构造方法的解决方案
原代码中使用接收Executor参数的Disruptor构造方法已被废弃,会触发编译警告:
Disruptor(eventFactory, bufferSize, Executors.newSingleThreadExecutor())
等效替换方案
Executors.newSingleThreadExecutor()内部默认使用Executors.defaultThreadFactory()创建线程,因此直接改用该ThreadFactory即可实现完全等效的逻辑,同时消除警告:
Disruptor(eventFactory, bufferSize, Executors.defaultThreadFactory())
自定义线程配置(可选)
如果需要对线程进行自定义配置(如设置线程名称、优先级等),可以手动实现ThreadFactory:
// 自定义ThreadFactory示例 ThreadFactory customThreadFactory = new ThreadFactory() { private final ThreadFactory defaultFactory = Executors.defaultThreadFactory(); private int threadSeq = 0; @Override public Thread newThread(Runnable r) { Thread thread = defaultFactory.newThread(r); thread.setName("disruptor-worker-" + threadSeq++); thread.setPriority(Thread.NORM_PRIORITY); return thread; } }; // 使用自定义ThreadFactory实例化Disruptor Disruptor(eventFactory, bufferSize, customThreadFactory)
内容的提问来源于stack exchange,提问作者Lukasz G.
相关产品推荐
相关产品推荐

