執行緒 同步
執行緒
多執行緒原理; 每個執行緒都會在棧裡面開闢屬於自己的空間, 在執行mian 的時候,就可以一起進行 //關於棧的問題 ,當基礎型別在棧裡面 當引用型別在棧裡面 繼承Thread類及常用方法; 執行緒物件呼叫run()方法不開啟執行緒,僅是物件呼叫方法。執行緒物件呼叫start()方法開啟執行緒,並讓jvm呼叫run()方法在開啟的執行緒中執行。 . 對於每個執行緒只能進行呼叫一次 starr 多個執行緒同時進行的, 但對於每個執行緒 都是獨立的 .實現Runnable介面及特點
定義Runnable介面的實現類,並重寫該介面的run()方法,該run()方法的方法體同樣是該執行緒的執行緒執行體。 2. 建立Runnable實現類的例項,並以此例項作為Thread的target來建立Thread物件,Thread物件才是真正的執行緒物件。 3. 呼叫執行緒物件的start()方法來啟動執行緒。 執行緒_兩種方式的區別:
匿名內部類的方式實現執行緒: Thread類的構造方法: 1).Thread(): 2).Thread(String name):使用一個“執行緒名稱”建立一個執行緒物件; 3).Thread(Runnable r):使用一個Runnable物件建立一個執行緒物件; 4).Thread(Runnable r,String n):使用一個Runnable和執行緒名稱構造一個執行緒物件。
同步
多執行緒的安全性問題: 當多個執行緒訪問同一個資源是,且多個執行緒同寫同一個資源,則就會造成線性安全問題.解決這個問題 有三個方法 , 同步程式碼塊 , 同步程式碼, 鎖機制 由於安全問題. 出現了, 同步. 同步程式碼使用synchronized進行修飾的叫做同步方法
同步程式碼塊;synchronized 關鍵字可用於方法中的某個區塊中,表示只對這個區塊的資源實行互斥訪問 Lock鎖: java.util.concurrent.locks.Lock 機制提供了比synchronized程式碼塊和synchronized方法更廣泛的鎖定操作, 同步程式碼塊/同步方法具有的功能Lock都有,除此之外更強大,更體現面向物件。 \ Lock;具有鎖住 unlock;具有解鎖的功能.