JAVA執行緒和程序的區別、執行緒的建立
阿新 • • 發佈:2019-02-09
程序和執行緒的區別
執行緒是程序中更小的併發單位,一個程序中包含多個執行緒。
比如說聊天程序中包含有主執行緒、傳送訊息的執行緒和接收訊息的執行緒。
程序中負責執行程式的一個執行控制單元。
執行緒負責程式的執行,而一個程序允許有多個控制單元,我們稱為多執行緒。
執行緒的建立方式
第一種方法:
1, 繼承Thread類
2, 重寫Thread類裡面的run方法
3, 建立執行緒的子類物件
4, 呼叫start方法啟動執行緒
第二種方法:
1, 定義類實現Runnable介面
2, 實現接口裡的run方法,也就是將執行緒要執行的任務封裝在run方法中
3, 建立執行緒物件,然後將實現Runnable介面的類作為建立執行緒物件的引數傳入
4, 呼叫執行緒物件的start方法,啟動執行緒
執行緒安全
1, 多執行緒操作共享資料
2, 操作共享資料的程式碼有多條
解決辦法:同步程式碼塊
好處:解決執行緒安全問題
弊端:降低了相率,每次都要去判斷同步鎖
同步程式碼塊和同步函式
同步程式碼塊的鎖是任意物件,同步函式的鎖是this