程序:當你點開乙個qq.exe的時候是乙個程序,點開wechat.exe的時候又是另外的乙個程序。
執行緒:當你點開qq.exe的時候,qq這個程式裡面又有許多同時在執行的執行緒。
建立多執行緒有3種方式,分別是繼承執行緒類,實現runnable介面,匿名類
第一種實現runnable介面 重寫run方法
第二種通過繼承thread來建立執行緒
建立乙個執行緒的第二種方法是建立乙個新的類,該類繼承 thread 類,然後建立乙個該類的例項。
繼承類必須重寫 run() 方法,該方法是新執行緒的入口點。它也必須呼叫 start() 方法才能執行。
第三種:匿名類
使用匿名類,繼承thread,重寫run 方法,直接在run方法中寫業務**。
執行緒的建立,目前我就學習了上面三種方式。
關鍵字簡介
sleep
當前執行緒暫停
join
加入到當前執行緒中
setpriority
執行緒優先順序
yield
臨時暫停
setdaemon
守護執行緒
1.sleep 當前執行緒暫停
thread.sleep(1000);表示當前執行緒暫停有1000毫秒,別的執行緒不受影響。此時有可能丟擲interruptedexception中斷異常,因為執行緒暫停的過程中,有可能被停止。
2.join 加入到當前執行緒中
所有的執行緒都會有乙個主線程,把乙個執行緒加入到主線程,則主線程會等待該執行緒執行完 才繼續往下執行。
3.setpriority 執行緒優先順序
當多個執行緒同時競爭資源的時候,優先順序高的執行緒獲得cpu的概率會大大的增加。我們可以觀察到優先順序高執行緒獲得cpu資源的能力更強。
4.yield 當前執行緒臨時暫停,其他執行緒獲取cpu資源的能力上公升。
5.setdaemon 守護執行緒
守護執行緒: 當乙個程序裡,所有的執行緒都是守護執行緒的時候,結束當前程序。
比如乙個學校裡面,不光有教書的老師,上課的學生,還有負責做飯的食堂,負責衛生的後勤部門。 這些後勤部門就相當於守護程序一樣,守護老師學生上課的正常進行。當不再有老師上課這樣的活動(程序),只剩下後勤部門時(守護程序),那這個學校也就可以倒閉了(程序結束)。
守護執行緒通常會被用來做日誌,效能統計等工作。
Java多執行緒學習筆記
程序與執行緒 1.程序 執行中的程式 乙個程序至少包含乙個執行緒 2.執行緒 程序中負責程式執行的執行單元 執行緒本身依靠程式進行執行 執行緒是程式中的順序控制流,只能使用分配給程式的資源和環境 3.單執行緒 程式中只存在乙個執行緒,實際上主方法就是乙個主線程 4.多執行緒 在乙個程式中執行多個任務...
java多執行緒學習筆記
1 執行緒是乙個程式內部不同的執行路徑 2 生成執行緒只要能使用介面就不要繼承,繼承後就不能繼承其他的類,比較死。而且繼承的run方法不能丟擲與父類不同的異常。比如sleep的intterruptedexception 3 start方法只是說我準備好了,進入就緒狀態了,等待排程後才進入執行狀態 4...
java 多執行緒筆記(一)
首先,為了啟動乙個新的執行緒在虛擬機器中執行,要構造thread類的乙個例項,並呼叫start 方法。thread t new thread 當然了,這個執行緒什麼也沒有,要讓他先搞點事情。要讓他搞事情,就要重寫t的run 方法,我們應當把執行緒要做的所有工作都放在這個函式裡面,執行緒在這個方法裡面...