1. 程式人生 > >JAVA執行緒和程序的區別、執行緒的建立

JAVA執行緒和程序的區別、執行緒的建立


    程序和執行緒的區別
        執行緒是程序中更小的併發單位,一個程序中包含多個執行緒。
        比如說聊天程序中包含有主執行緒、傳送訊息的執行緒和接收訊息的執行緒。
        程序中負責執行程式的一個執行控制單元。
        執行緒負責程式的執行,而一個程序允許有多個控制單元,我們稱為多執行緒。

    執行緒的建立方式
        第一種方法:
        1,    繼承Thread類
        2,    重寫Thread類裡面的run方法
        3,    建立執行緒的子類物件
        4,    呼叫start方法啟動執行緒
    
    第二種方法:
        1,    定義類實現Runnable介面
        2,    實現接口裡的run方法,也就是將執行緒要執行的任務封裝在run方法中
        3,    建立執行緒物件,然後將實現Runnable介面的類作為建立執行緒物件的引數傳入
        4,    呼叫執行緒物件的start方法,啟動執行緒


    執行緒安全
        1,    多執行緒操作共享資料
        2,    操作共享資料的程式碼有多條
    解決辦法:同步程式碼塊
            好處:解決執行緒安全問題
            弊端:降低了相率,每次都要去判斷同步鎖
    同步程式碼塊和同步函式
        同步程式碼塊的鎖是任意物件,同步函式的鎖是this