程式:一段靜態的**的組合。
程序:程式的一次執行
執行緒:執行緒就是輕量級進行
執行緒和執行緒之間採用搶占硬體資源的方式。
執行緒的5種狀態:建立,就緒,執行,阻塞,結束
在建立執行緒中,有兩種方式可以建立。
第一種就是 繼承thread類。自己寫乙個執行緒類,繼承thread類,new執行緒類的物件,呼叫start方法。
第二種就是 實現runnable介面(常用)。自己寫乙個類,實現runnable介面,建立該類的執行物件,new thread的物件,把執行物件傳入,呼叫start方法。
什麼需要執行緒池?
建立執行緒和銷毀執行緒的過程比較浪費資源
銷毀執行緒會給jvm壓力
執行緒池:用於存放多個可重複利用的執行緒,當有任務來的時候,就分配乙個執行緒去執行,執行完畢後,執行緒不銷毀,放回執行緒池中。
**當中,執行任務那一塊,任務可以同時執行很多個。//建立乙個執行緒池
//corepoolsize 核心執行緒數量
//maximumpoolsize 最大執行緒數量
//keepalivetime 無任務時,執行緒儲存多久
//unit 時間的單位
//workqueue 工作佇列
threadpoolexecutor executor =
newthreadpoolexecutor(5
,10,10
,timeunit.minutes,
newlinkedblockingqueue
<
>()
);//任務
runnable r =()
->
;//執行任務:把任務加入佇列中,等待執行。
executor.
execute
(r);
//關閉執行緒池
executor.
shutdown()
;
學習分享 執行緒同步
1.使用同步 塊public void run else 必須保證鎖的唯一性 2.使用同步方法 使用同步方法實現執行緒的同步 public synchronized void synchronizedmethod 思考 鎖是啥?a.這是乙個成員方法 鎖是this b.這是乙個靜態方法 鎖是這個類的c...
學習記錄分享(多執行緒)
1.乙個單cpu的機器,如何同時執行多個執行緒?請簡述其原理 單cpu在任何時間點上,只能執行乙個執行緒,實現同時執行多個執行緒是通過序列,在不同的執行緒之間通過cpu時間片控制切換執行不同的執行緒。2.執行緒的建立 有以下 c 只有主方法乙個執行緒,沒有建立新的執行緒類 3.執行緒的建立 有以下 ...
多執行緒 基礎多執行緒學習分享
程序 程式是靜止,其真正執行時的程式才稱之為程序 執行緒 輕量級程序 light weight process 程序與執行緒區別 執行緒的組成 建立執行緒 主要的兩種方式 a 繼承thread類方法 步驟 1.編寫類 繼承thread 2.重寫run方法 3.建立執行緒物件 4.呼叫start方法啟...