什么是線程同步/線程安全?線程同步線程安全的實現(xiàn)方式有幾種?
2022-10-25 09:25 作者:網(wǎng)星軟件 | 我要投稿
什么是線程同步/線程安全?線程同步線程安全的實現(xiàn)方式有幾種?
線程同步也叫線程安全,當(dāng)多條線程同時訪問同一個資源的時候,每一次只能由多日安線程中的其中一條訪問資源,當(dāng)這條線程訪問資源的時候,其他的線程都處于等待階段,不能訪問資源,當(dāng)當(dāng)前訪問資源的線程訪問完了這個資源以后,其他的線程中的一條才能訪問這個資源,剩下的線程則繼續(xù)處于等待階段,不能訪問資源,實現(xiàn)這個的過程就是線程同步或者線程安全?!九抨犜L問資源】可以保證數(shù)據(jù)的一致性
有2中常見實現(xiàn)方式:
????1.?通過synchronized關(guān)鍵字設(shè)置線程安全
????????1.?同步代碼塊
????????????synchronized(同步對象){需要被同步執(zhí)行的java代碼}
????????????因為在設(shè)置同步對象的時候總是把握不了,這個方式不推薦使用
????????2.??同步方法
????????????訪問限制修飾符 synchronized 方法的返回值 方法名稱(參數(shù)){
????????????????????需要被同步執(zhí)行的java代碼
????????????}
????2.?通過Lock接口
????????使用比較靈活,在需要的時候通過Lock接口提供的lock()來鎖定資源不被其他線程使用,可以訪問資源結(jié)束的時候手動通過Lock接口提供的unlock()方法釋放鎖定的資源。
標(biāo)簽: