現在服務器端的應用程序幾乎都采用了
下面我們來看看怎麼用Java實現一個線程池
一種就是以固定線程數目作為基准
基本思想如下
在構建線程池的時候創建所有工作線程
public ThreadPool(int nPoolSize)
{
if(nPoolSize<=
{
nPoolSize=DEFAULT_POOL_SIZE;
}
m_ThreadList=new ArrayList();
m_RunList=new LinkedList();
for(int i=
{
WorkerThread temp=new WorkerThread(i+
m_ThreadList
temp
}
}
在工作線程的run()方法中用wait()進行等待
實現如下
while (true)
{
synchronized (m_RunList)
{
while (m_RunList
{
//任務列表為空則進行等待
try
{
m_RunList
}
catch (InterruptedException e) {}
}
r = (Runnable) m_RunList
file://System
if (r == null)return;
}
try
{
r
}
catch (Exception e) {}
}
以上代碼就是一個工作線程主要代碼
From:http://tw.wingwit.com/Article/program/Java/gj/201311/27738.html