技術部落格 第十三章 多執行緒

2021-05-28 00:38:17 字數 1380 閱讀 2187

技術部落格:第十三章多執行緒

併發:1、巨集觀上:併發和並行相似,多工;

2、微觀上:乙個cpu在做一件事,並沒有實現並行,單任務;

並行:在os中:

程序:資源分配的最小單位,

執行緒:cpu排程的最小單位;

執行緒是程序的一部分!

多執行緒的實現:

1、繼承thread方法;本身就是實現runable介面的類;

建立:a extends thread

在a中實現run方法;

啟動:利用繼承自thread 的start()方法

a a = new a(); 

2、實現runnable介面;不能自己執行,需要thread來呼叫;

建立:a implements runnable;

在a中實現run方法;

啟動:以a的物件為thread的建構函式的引數建立thread物件

並且利用他的start()方法排程啟用執行緒;

利用繼承自thread 的start()方法  

a a = new a();

thread b = new thread();

b.start();

3、使用timer和timertask組合實現;

start方法,只有thread方法中有

建立:建立timetask子類;並實現run方法得到執行緒任務類

mytimwtask繼承timetask

啟動:建立時鐘器物件

利用時鐘器物件的schedule()方法啟動執行緒任務;

timer timer = new timer();

timer.schedule(new mytimertask(),…………);

多執行緒的實現:

public classmyfristthreadcatch(interruptedexception e) }}

}classmythread1extendsthreadcatch(interruptedexception e) }}

}classmythread2implementsrunnablecatch(interruptedexception e)  

}  }

classmythread3extendstimertask

public voidrun()catch(interruptedexception e)

第十三章 多執行緒 第二講

二 執行緒的生命週期 執行緒是乙個動態執行的過程,它也有乙個從產生到死亡的過程,這就是所謂的生命週期。生命週期的執行過程 新建 就緒 執行 死亡 1 生命週期的舉例與分析 1 新建 new thread 當建立thread類的乙個例項 物件 時,此執行緒進入新建狀態 未被啟動 例如 thread t...

第十三章 多執行緒 第三講

第十三章 多執行緒 第三講 五 執行緒排程的方法詳解 sleep 方法是使當前執行緒睡眠指定的毫秒數,執行緒由進行狀態進入不可執行狀態,當指定的毫秒數過去後,如果有正在進行的執行緒,則進入就緒狀態,如果沒有正在進行的執行緒,則繼續執行。釋放cpu的執行權,不釋放鎖。yield 方法是使當前的執行緒暫...

第十三章 併發

13.1 動機 13.2 基本執行緒 如果必須要控制現成的執行順序,最好是根本不用執行緒,而是自己編寫特定順序彼此控制的協作子程式。繼承thread類或者實現runnable介面。內部類實現。13.3 共享受限資源 1 如果要對類中的某個方法進行同步控制,最好同步所有方法。如果忽略了其中乙個,通常很...