線程鎖:
多線程可以同時運行多個任務但是當多個線程同時訪問共享數據時,可能導致數據不同步,甚至錯誤! so,不使用線程鎖, 可能導致錯誤
大家都不陌生,主要用來給方法、代碼塊加鎖。當某個方法或者代碼塊使用鎖時,那么在同一時刻至多僅有有一個線程在執行該段代碼。
當有多個線程訪問同一對象的加鎖方法/代碼塊時,同一時間只有一個線程在執行,其余線程必須要等待當前線程執行完之后才能執行該代碼段。但是,其余線程是可以訪問該對象中的非加鎖代碼塊的。
進程鎖:
也是為了控制同一操作系統中多個進程訪問一個共享資源,
只是因為程序的獨立性,各個進程是無法控制其他進程對資源的訪問的,
但是可以使用本地系統的信號量控制(操作系統基本知識)。
優點:保證資源同步
缺點:有等待肯定會慢