消费处理线程池更换为虚拟线程

This commit is contained in:
三丙
2024-10-16 10:20:35 +08:00
parent 3741273f9b
commit a90c94a40c
2 changed files with 31 additions and 3 deletions

View File

@@ -4,8 +4,6 @@
*/
package sanbing.jcpp.infrastructure.util.async;
import sanbing.jcpp.infrastructure.util.trace.TracerRunnable;
import java.util.concurrent.ThreadFactory;
import java.util.concurrent.atomic.AtomicLong;
@@ -19,6 +17,6 @@ public class JCPPVirtualThreadFactory implements ThreadFactory {
@Override
public Thread newThread(Runnable r) {
return Thread.ofVirtual().name(namePrefix + "-" + threadNumber.getAndIncrement()).unstarted(new TracerRunnable(r));
return Thread.ofVirtual().name(namePrefix + "-" + threadNumber.getAndIncrement()).unstarted(r);
}
}

View File

@@ -0,0 +1,30 @@
/**
* 抖音关注:程序员三丙
* 知识星球https://t.zsxq.com/j9b21
*/
package sanbing.jcpp.infrastructure.util.async;
import org.junit.jupiter.api.Test;
import org.slf4j.MDC;
import sanbing.jcpp.infrastructure.util.mdc.MDCUtils;
import sanbing.jcpp.infrastructure.util.trace.TracerContextUtil;
import sanbing.jcpp.infrastructure.util.trace.TracerRunnable;
import java.util.concurrent.ExecutorService;
class JCPPExecutorsTest {
@Test
void newVirtualThreadPool() {
ExecutorService executorService = JCPPExecutors.newVirtualThreadPool("test-consumer-virtual");
TracerContextUtil.newTracer();
MDCUtils.recordTracer();
System.out.println(MDC.get("TRACE_ID"));
executorService.submit(new TracerRunnable(() -> {
System.out.println(MDC.get("TRACE_ID"));
}));
}
}