執行緒安全隨記

2021-08-28 11:09:40 字數 395 閱讀 8709

現下定義:

首先說一下什麼是執行緒安全,以方法的執行緒安全為例,當有多個執行緒訪問這個方法時,無論這些執行緒以怎樣呼叫方式或者執行順序去執行這個方法,這個方法的執行結果都是我們設想的正確結果,就稱該方法為執行緒安全的。

再說方法:

保證執行緒安全的方法有:

1,synchronized:

當乙個synchronized鎖住了乙個物件後,其他執行緒如果想要獲取所物件,就必須要獲取到鎖的執行緒執行完釋放了鎖才可以。並且被synchronized修飾的例項方法鎖住的是物件本身,也就是this。

2,lock

常用方式:lock lock = new reentrantlcok();

if(lock.trylock())finally{

lock.unlock();

執行緒安全與執行緒不安全

執行緒安全是針對多執行緒來講的,如果所使用的公用變數在多執行緒下沒有被保護機制時,變數結果會和理論值不一致,這樣就叫作執行緒不安全,相反公用變數在保護機制下工作,就不會出現 隨機 變化,這時叫執行緒安全。執行緒安全 在多執行緒中使用時,不用自已做同步處理.執行緒不安全 在多執行緒中使用時,必須做執行...

執行緒安全與執行緒不安全

執行緒安全是針對多執行緒來講的,如果所使用的公用變數在多執行緒下沒有被保護機制時,變數結果會和理論值不一致,這樣就叫作執行緒不安全,相反公用變數在保護機制下工作,就不會出現 隨機 變化,這時叫執行緒安全。執行緒安全 在多執行緒中使用時,不用自已做同步處理.執行緒不安全 在多執行緒中使用時,必須做執行...

Java執行緒安全和非執行緒安全

arraylist是非執行緒安全的,vector是執行緒安全的 hashmap是非執行緒安全的,hashtable是執行緒安全的 stringbuilder是非執行緒安全的,stringbuffer是執行緒安全的 什麼是執行緒安全?執行緒安全和非執行緒安全有什麼區別?分別在什麼情況下使用?非執行緒安...