ThreadPoolManager類:負責管理執行緒池,呼叫輪詢的執行緒來訪問字串緩衝區的內容,維護緩衝區,當執行緒池溢位時丟擲的Runnable任務被加入到字元緩衝區。
public class ThreadPoolManager
{
private static ThreadPoolManager tpm = new ThreadPoolManager();
// 執行緒池維護執行緒的最少數量
private final static int CORE_POOL_SIZE = 4;
// 執行緒池維護執行緒的最大數量
private final static int MAX_POOL_SIZE = 10;
// 執行緒池維護執行緒所允許的空閒時間
private final static int KEEP_ALIVE_TIME = 0;
// 執行緒池所使用的緩衝佇列大小
private final static int WORK_QUEUE_SIZE = 10;
// 訊息緩衝佇列
Queue msgQueue = new LinkedList();
// 訪問訊息快取的排程執行緒
final Runnable accessBufferThread = new Runnable()
public void run()
// 檢視是否有待定請求,如果有,則建立一個新的AccessDBThread,並新增到執行緒池中
if( hasMoreAcquire() )
String msg = ( String ) msgQueue。
poll();
Runnable task = new AccessDBThread( msg );
threadPool。execute( task );
}
};。
ThreadPoolManager類:負責管理執行緒池,呼叫輪詢的執行緒來訪問字串緩衝區的內容,維護緩衝區,當執行緒池溢位時丟擲的Runnable任務被加入到字元緩衝區。
public class ThreadPoolManager
{
private static ThreadPoolManager tpm = new ThreadPoolManager();
// 執行緒池維護執行緒的最少數量
private final static int CORE_POOL_SIZE = 4;
// 執行緒池維護執行緒的最大數量
private final static int MAX_POOL_SIZE = 10;
// 執行緒池維護執行緒所允許的空閒時間
private final static int KEEP_ALIVE_TIME = 0;
// 執行緒池所使用的緩衝佇列大小
private final static int WORK_QUEUE_SIZE = 10;
// 訊息緩衝佇列
Queue msgQueue = new LinkedList();
// 訪問訊息快取的排程執行緒
final Runnable accessBufferThread = new Runnable()
{
public void run()
{
// 檢視是否有待定請求,如果有,則建立一個新的AccessDBThread,並新增到執行緒池中
if( hasMoreAcquire() )
{
String msg = ( String ) msgQueue。
poll();
Runnable task = new AccessDBThread( msg );
threadPool。execute( task );
}
}
};。