執行緒池原理
public
class
threadpool
}/**
*要開啟的執行緒內情況:
*1、判斷runnable集合大小,不為空,取出來那個非同步任務
*3、任務集合為空,即任務都執行完了,此時執行緒等待
*/private
void
createthread()
}else}}
}.start();
}}
執行緒池應用
-寫個工具類threadmanager
/**
* 管理執行緒池
* *@author stephen
* */
public
class
threadmanager
private
static threadmanager instance = new threadmanager();
private threadpoolproxy longpool;
private threadpoolproxy shortpool;
public
static threadmanager getinstance()
// 聯網比較耗時
// cpu的核數*2+1
public
synchronized threadpoolproxy createlongpool()
return longpool;
}// 操作本地檔案
public
synchronized threadpoolproxy createshortpool()
return shortpool;
}public
class
threadpoolproxy
/*** 執行任務
*@param runnable
*/public
void
execute(runnable runnable)
pool.execute(runnable); // 呼叫執行緒池 執行非同步任務
}/**
* 取消任務
*@param runnable
*/public
void
cancel(runnable runnable) }}
}
-在其他類中應用執行緒池執行非同步任務threadmanager.getinstance().createlongpool().execute(new runnable()
});
c 中線程池
只有乙個前台執行緒在執行,應用程式的程序就在執行,如果多個前台執行緒在執行,但是main方法結束了,應用程式的程序任然是執行的,指導所有的前台執行緒完成其任務為止。在預設情況下,用thread建立的執行緒都是前台執行緒,執行緒池中的執行緒總是後台執行緒。在用thread類建立執行緒的時候,可以設定i...
Android的執行緒和執行緒池
執行緒是作業系統排程的最小單元 執行緒是乙個受限制的系統資源,即不能無限制的產生。執行緒的建立銷毀都有相應的開銷 時間片輪轉的方式排程每個執行緒 用途來講分為主線程和子執行緒 主線程 更新ui 子執行緒 耗時操作 在android中扮演執行緒的角色 thread,asynctask,intentse...
Python中線程池的實現
usr bin env python coding utf 8 ref blog import queue import threading import time class workmanager object def init self,work num 1000,thread num 2 s...