四十 執行緒池

2021-06-23 08:40:07 字數 1128 閱讀 9162

根據執行緒池的原理,自己實現個執行緒池。

/*

* 執行緒池管理器:用於建立並管理執行緒池,包括: 建立執行緒池,銷毀執行緒池,新增新任務

* 客戶端等待乙個可用執行緒、將任務傳遞給該執行緒以便執行、然後在任務完成時將執行緒歸還給池

*/public class threadpool

this.threadcounter = 10; }

public synchronized static threadpool getinstance()

return instance; }

public synchronized void start(runnable target)else }

public void repool(workerthread workerthread)

public void shutdown()

} public int getthreadcounter()

}

/*

* 工作執行緒:執行緒池中線程,在沒有任務時處於等待狀態,以迴圈的方式執行任務

*/public class workerthread extends thread

public synchronized void settarget(runnable target)

public void run()

} catch (interruptedexception e)

} }public void shutdown()

}

public class task implements runnable

public task(string name)

@override

public void run() catch (interruptedexception e) }

public static void main(string args)

system.out.println("threadcounter="+threadpool.getinstance().getthreadcounter());

}}

多執行緒學習 十 執行緒狀態 守護執行緒

守護執行緒 執行緒分為守護執行緒和使用者執行緒,當程式中沒有使用者執行緒時,jvm會退出.方法 內容void setdaemon boolean on 將該執行緒標記為守護執行緒或使用者執行緒 boolean isdeamon 測試該執行緒是否為守護執行緒。void setdaemon boolea...

執行緒 執行緒池

執行緒池是一種多執行緒處理形式,處理過程中將任務新增到佇列,然後在建立執行緒後執行,主要實現 建立執行緒和管理執行緒,並且給執行緒分配任務。執行緒池中的執行緒是併發執行的。乙個比較簡單的執行緒池至少應包含執行緒池管理器 工作執行緒 任務列隊 任務介面等部分。其中執行緒池管理器的作用是建立 銷毀並管理...

執行緒 執行緒池

乙個簡單執行緒的建立和銷毀如下 與程序程序相比,執行緒是一種輕量級的工具,但是輕量並不代表沒有,它的建立和關閉依然需要花費時間,如果建立和銷毀的時間還大於執行緒本身完成的工作,那就會得不償失,甚至會造成out of memory。即使沒有,大量的執行緒 也會給gc帶來巨大的壓力。為了解決這樣的問題,...