技術部落格:第十三章多執行緒
併發: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 如果要對類中的某個方法進行同步控制,最好同步所有方法。如果忽略了其中乙個,通常很...