首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法为Aeron媒体驱动程序设置ThreadFactory()

无法为Aeron媒体驱动程序设置ThreadFactory()
EN

Stack Overflow用户
提问于 2018-03-10 03:04:10
回答 1查看 80关注 0票数 2

我不能在Aeron的LowLatencyMediaDriver示例中设置新的Threadfactory()。有关VisualVM中的线程名称,请参阅下面的代码和快照。

代码语言:javascript
复制
public class LowLatencyMediaDriver {
    public static void main(final String[] args) {
        loadPropertiesFiles(args);

        ThreadFactory conductorThreadFactory = new ThreadFactoryBuilder().setNameFormat(LowLatencyMediaDriver.class.getName()+"-Conductor-%d").setDaemon(true).build();
        ThreadFactory receiverThreadFactory = new ThreadFactoryBuilder().setNameFormat(LowLatencyMediaDriver.class.getName()+"-Receiver-%d").setDaemon(true).build();
        ThreadFactory senderThreadFactory = new ThreadFactoryBuilder().setNameFormat(LowLatencyMediaDriver.class.getName()+"-Sender-%d").setDaemon(true).build();

        final MediaDriver.Context ctx = new MediaDriver.Context()
            .termBufferSparseFile(false)
            .threadingMode(ThreadingMode.DEDICATED)
            .conductorThreadFactory(conductorThreadFactory)
            .receiverThreadFactory(receiverThreadFactory)
            .senderThreadFactory(senderThreadFactory)
            .conductorIdleStrategy(new BusySpinIdleStrategy())
            .receiverIdleStrategy(new BusySpinIdleStrategy())
            .senderIdleStrategy(new BusySpinIdleStrategy());

        try (MediaDriver ignored = MediaDriver.launch(ctx)) {
            new ShutdownSignalBarrier().await();
            System.out.println("Shutdown Driver...");
        }
    }
}

enter image description here

EN

回答 1

Stack Overflow用户

发布于 2018-03-10 04:29:21

AgentRunner类自动重命名线程,并且不保留通过ThreadFactory()给出的名称。

https://github.com/real-logic/agrona/blob/master/agrona/src/main/java/org/agrona/concurrent/AgentRunner.java#L94

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49200501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档