when i use storm(it use disruptor),I find a process eat up cpu, i use cgroup to bind 2 core
I use jstack to find which thread use more cpu. i find
"Thread-40" prio=10 tid=0x00007fb534c2d000 nid=0x27129 waiting on condition [0x000000004632a000]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for <0x0000000756c6ff30> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:196)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2116)
        at com.lmax.disruptor.BlockingWaitStrategy.waitFor(BlockingWaitStrategy.java:87)
        at com.lmax.disruptor.ProcessingSequenceBarrier.waitFor(ProcessingSequenceBarrier.java:54)
        at backtype.storm.utils.DisruptorQueue.consumeBatchWhenAvailable(DisruptorQueue.java:56)
        at backtype.storm.disruptor$consume_batch_when_available.invoke(disruptor.clj:62)
        at backtype.storm.daemon.executor$fn__4384$fn__4393$fn__4440.invoke(executor.clj:658)
        at backtype.storm.util$async_loop$fn__469.invoke(util.clj:396)
        at clojure.lang.AFn.run(AFn.java:24)
        at java.lang.Thread.run(Thread.java:662)

I check storm use strategy, it use BlockingWaitStrategy .
I see some info, it says, if use blockingWaitStrategy, it use no cpu while idle.
so ,i so confused.who know it?