執行緒同步和執行緒安全

2021-09-21 23:19:09 字數 330 閱讀 8192

執行緒同步,嚴格來說,是程式通過專用的機制來保證多個並行執行的執行緒在同一時刻不會執行指定的程式段。

**的執行緒安全,指的是多執行緒以安全執行的方式操作共享資料結構。或者簡單的說,就是程式在多執行緒環境下執行而不會引發資料錯誤。有多種策略實現執行緒安全的資料結構。

執行緒同步是現實執行緒安全的一種手段。

不實現執行緒同步在某些場合下也是能保證執行緒安全,比如2個執行緒都讀取同乙個資料結構,但都不修改這個資料,那麼這個程式可以認為是執行緒安全的,也不需要執行緒同步。如果執行緒同步設計的很好,但如果你不小心或者不正確的使用,也是能夠非常容易的出錯,此時也會導致即使執行緒同步,但由於缺少執行緒安全,程式還是可能會得到錯誤的輸出。

執行緒同步 執行緒安全

1 執行緒同步 1 同步 多程序或者多執行緒訪問臨界資源時,必須進行同步控制。多程序或者多執行緒的執行並不完全是絕對的並行執行,有可能主線程需要等待函式執行緒的某些條件的發生。2 多執行緒之間有幾個特殊的臨界資源 全域性資料 堆區資料 檔案描述符 多執行緒之間共用 3 執行緒間同步控制方式 a.訊號...

執行緒安全與執行緒同步

執行緒安全 可重入函式 執行緒之間共享全域性資料段 靜態資料,引起非執行緒安全。執行緒安全可以通過執行緒同步對臨界資源訪問進行控制來實現。有些系統呼叫或者庫函式的實現時發生不安全現象,在多執行緒環境下就需要使用這些函式的安全版本,即可重入函式。例如 字串分割函式 普通版本 char strtok c...

執行緒安全與同步執行緒

資料有負數,相同的情況 比如在進行搶票的時候。可能會出現在第資料不準確的現象 public class unsafe implements runnable public static void test catch interruptedexception e system.out.println...