1. 程式人生 > >執行緒和程序概念

執行緒和程序概念

多執行緒

程序&執行緒

程序是正在執行的程式
程序是可以獨立執行的
程序有自己獨立的記憶體空間,不予其他程序共享資料
一個程序可以有1~n個執行緒

執行緒是程序中的控制單元
執行緒是程序的中的一個“子任務執行者”
執行緒不能獨立執行,必須依賴程序而執行
同一個程序中的多個執行緒是可以共享資料的

執行緒的作用

多執行緒提高了程式的執行效率,因為他可以讓程式中·多個任務併發執行

JVM的主執行緒

JVM中有一個主執行緒,他的任務是執行main()方法
當程式執行時,JVM會為我們分派主執行緒
主執行緒的工作執行main()的方法的內容
但main()結束後,主執行緒結束

多執行緒第一列

編寫多執行緒程式步驟分析

除了主執行緒(JVM提供)外其他執行緒都需要手動建立

多執行緒程式實現:
1:建立任務物件(Runnable 介面)
2:建立執行緒物件(Thread 執行緒類)
3:把任務交給執行緒(Thread<——Runnable)
4:啟動執行緒(start()).

1:Runnable介面(任務介面)

他只要有個方法void run(),Runnable不是執行緒,他只是執行緒任務。

2:thread類(執行緒類)

可以把Thread理解為執行任務的(執行者),在建立Thread物件是我們需要把任務交給Thread物件

每個Thread物件必須與一個Runnable物件繫結,執行者物件與任務物件要繫結在一起

3:啟動執行緒

建立了執行緒物件並不代表執行緒就開始執行任務了,想讓執行緒開始執行任務還需要呼叫Thread類的start()方法啟動執行緒,這是執行緒才真正開始“工作’

執行緒休眠

Thread類的靜態方法,static void sleep(long)方法可以讓當前執行緒休眠指定的毫秒,可以把他放到執行緒的任務中,無論1拿個執行緒執行到這行程式碼都會休眠“一會”。