1. 序列與併發
在程式執行的過程中, 程式可能會有很多的任務需要處理。那麼這些任務在處理的時候, 可以按照不同的方式來進行:
**序列: **所有的任務,按照一定的順序,先後執行。前面的任務沒有執行結束,則後面所有的任務都需要等待
**併發: **某一些任務可以被同時處理
2. 程序與執行緒
程序:是乙個程式執行所占用的資源描述。乙個程序是乙個程式,乙個程式可能不止乙個程序。
執行緒:是程式執行的最小單元。
程序和執行緒的關係
乙個程序中包含多條執行緒,且至少包含一條執行緒。如果乙個程序中所有的執行緒都執行結束了,此時,這個程序也就結束了。
乙個程序在開闢完成後,會自動的建立乙個執行緒。這個執行緒叫做 主線程。在這裡開闢的其他所有的執行緒都是 子執行緒。
3. 多執行緒的幾種開闢方式
thread這個類是執行緒類,是用來描述一條執行緒的。我們所謂的開闢執行緒,其實就是例項化乙個thread物件。
繼承thread類,寫乙個thread類的子類。
重寫run方法,並在run方法裡面執行要併發處理的任務
執行緒物件例項化完成後,不能直接通過呼叫run()的方式,來執行run方法中的邏輯
如果希望run方法中的邏輯在乙個新的執行緒中執行,則需要呼叫的是start方法
設計乙個runnable介面的實現類,通過這個實現類物件去例項化乙個thread物件
兩種實現方式的對比優點
缺點繼承thread
語法簡單、語義明朗、可讀性強
可能會對原有的繼承結構造成影響
實現runnable介面
沒有繼承上的限制
語義沒有繼承明朗、可讀性較差
start和run的異同
案例**:
繼承thread類:
class
mythread
extends
thread}}
public
class
program
}
實現runnable介面:
public
class
program}}
} thread t =
newthread
(t);
t.start()
;}
Java之多執行緒
執行緒的狀態 繼承thread類和實現runable介面,新執行緒執行,即是執行run 方法裡的內容 public class testthread extends thread if count 10 0 catch interruptedexception e run方法結束即當前執行緒結束 p...
java之多執行緒
建立乙個執行緒的方法有三種,thread,runnable 實現,實現callable call 作為實體,可以返回try,catch 1.thread t new thread 2.class x implements runable thread t new thread new x 3.cal...
java之多執行緒
首先本文是建立在大家對程序和執行緒有一點了解的基礎上的。如程序執行緒了解不多的話,可以參考 程序 執行緒 多執行緒相關總結 建立執行緒類的子類 class subthread extends thread 執行緒建立方式2 runnable介面建立執行緒 class runnableimpl imp...