无法为Aeron媒体驱动程序设置ThreadFactory()
我无法在Aeron的LowLatencyMediaDriver示例中设置新的Threadfactory()。有关VisualVM中的线程名称,请参见下面的代码和快照无法为Aeron媒体驱动程序设置ThreadFactory(),aeron,Aeron,我无法在Aeron的LowLatencyMediaDriver示例中设置新的Threadfactory()。有关VisualVM中的线程名称,请参见下面的代码和快照 public class LowLatencyMediaDriver { public static void main(final String[] args) { loadPropertiesFiles(args); ThreadFactory conductorThreadFactor
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...");
}
}
}
AgentRunner类自动重命名线程,并且不保留通过ThreadFactory()提供的名称