[問題] 不同interval的Task處理方式

作者: ahli (ahli)   2015-07-05 18:06:10
大家好,因為不太熟Java Executor Thread Pool的運作原理,
最近工作上剛好又碰到需要使用Multi thread解決的問題,所以想請教一下。
需求大概是這樣:
1.可以讓User排程去Ping設備,且User可以指定他想要的參數
2.參數包含Ping的頻率及ip
3.可以排程的數目沒有限制
(也就是說,假設目前有N個排程,每個排程指定的IP和頻率可能都不一樣)
目前是打算用ScheduledExecutorService來做,
但想請問的是,我需要的Worker Thread數目一定要和排程(task)的數目一樣多嗎?
有1000個排程就一定要有1000個Thread去handle這樣...
還是說有什麼其他更好/合理(或更省Thread..-.-)的方法?
這問題可能很基本,如果太簡單希望也能給個方向就好,
感謝...
作者: ssccg (23)   2015-07-05 22:15:00
不用,schedule時間到了才會去Thread pool找閒置的thread做沒在執行的是不會用到thread的當然thread太少可能有些task就要等,就不會按時執行
作者: ahli (ahli)   2015-07-06 00:48:00
看來是誤會reuse thread的方式了..感謝指點
作者: adrianshum (Alien)   2015-07-07 22:05:00
take a look at Quartz

Links booklink

Contact Us: admin [ a t ] ucptt.com