2016-01-05 15 views
7

basit bir görev her beş saniyede çalışan bir ScheduledThreadPoolExecutor aşağıdaki yapılandırma tek CPU% 100 yük neden olur Bir CPU çekirdeğinde sürekli olarak% 100 yüke neden olan ScheduledThreadPoolExecutor. iplik dökümü incelenmesi aşağıdaki stacktrace ortaya koymaktadır: corePoolSize = 1 ileScheduledThreadPoolExecutor Verilen çekirdek

"pool-1-thread-1" - Thread [email protected] 
    java.lang.Thread.State: RUNNABLE 
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.poll(ScheduledThreadPoolExecutor.java:809) 
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 

hala havuzda bir iplik vardır. Bununla birlikte, iplik temel olarak her zaman TIMED_WAITING numaralı durumdadır ve bu nedenle boşta kalır.

corePoolSize = 0corePoolSize = 0'un davranışı bilinen bir özellik, doğrulanmamış bir yanlış yapılandırma veya bir hata mıdır?

cevap