File tree Expand file tree Collapse file tree 1 file changed +4
-3
lines changed
concurrency/src/test/java/com/github/kuangcp/queue/disruptor/first Expand file tree Collapse file tree 1 file changed +4
-3
lines changed Original file line number Diff line number Diff line change @@ -104,7 +104,7 @@ public void testConsumerChain() throws Exception {
104104
105105
106106 /**
107- * 多生产者 多消费者
107+ * 多生产者 多消费者(长耗时)
108108 */
109109 @ Test
110110 public void testProductConsumerSlow () throws Exception {
@@ -118,17 +118,18 @@ public void testProductConsumerSlow() throws Exception {
118118 );
119119 // 有多少个消费者就会创建多少线程去执行消费,此时会创建三个线程
120120 disruptor
121- .handleEventsWithWorkerPool (new OrderEventSlowHandler ("a " ), new OrderEventSlowHandler ("b " ))
121+ .handleEventsWithWorkerPool (new OrderEventSlowHandler ("a1 " ), new OrderEventSlowHandler ("a2" ), new OrderEventSlowHandler ( "a3 " ))
122122 .then (new OrderEventSlowHandler ("c" ));
123123 disruptor .start ();
124124 RingBuffer <OrderEvent > ringBuffer = disruptor .getRingBuffer ();
125125 OrderEventProducer eventProducer = new OrderEventProducer (ringBuffer );
126126 // 创建一个线程池,模拟多个生产者
127127 ExecutorService fixedThreadPool = Executors .newFixedThreadPool (10 );
128- for (int i = 0 ; i < 100 ; i ++) {
128+ for (int i = 0 ; i < 30 ; i ++) {
129129 fixedThreadPool .execute (() -> eventProducer .onData (UUID .randomUUID ().toString ()));
130130 }
131131
132+ // 注意当所有消息都被消费后,消费者线程会进入无休止的CAS,导致CPU占用率高企
132133 Thread .currentThread ().join ();
133134 }
134135}
You can’t perform that action at this time.
0 commit comments