標籤:android blog http ar java sp on art 問題
============問題描述============
ExecutorService pool = Executors.newFixedThreadPool(2);
//建立實現了Runnable介面對象,Thread對象當然也實現了Runnable介面
Thread t1 = new MyThread();
Thread t2 = new MyThread();
Thread t3 = new MyThread();
Thread t4 = new MyThread();
Thread t5 = new MyThread();
//將線程放入池中進行執行
pool.execute(t1);
pool.execute(t2);
pool.execute(t3);
pool.execute(t4);
pool.execute(t5);
上面建立了一個固定為2個線程的線程池,在某一時刻有沒有辦法判斷t1、t2、t3、t4、t5是正在排隊等待,還是已經在執行,因為我想將正在排隊等待的任務取消掉,免得浪費資源
註:我用的就是這篇文章中的第一種方法http://blog.csdn.net/lyf_007217/article/details/8542238
============解決方案1============
java.util.concurrent.ExecutorService;
java.util.concurrent.Executors;
看看這兩個包裡面的api
============解決方案2============
IntentService提供一個工作者線程隊列。
============解決方案3============
要想取消,就實現Callable介面,然後調用pool.submit()方法,返回 futrue對象,可以用 future對象來擷取線程的狀態。
這些 都是 J U C 裡面的東西 。
源碼分析見:
http://blog.csdn.net/windsunmoon/article/details/36903901
Android線程池中的任務取消