1
說我有一個公衆method1
打電話給私人method2
,我用鎖來保證method1
的線程安全,我需要用method2
上的鎖嗎? method2
只能通過method1
調用。我是否需要鎖定從屬私有方法?
說我有一個公衆method1
打電話給私人method2
,我用鎖來保證method1
的線程安全,我需要用method2
上的鎖嗎? method2
只能通過method1
調用。我是否需要鎖定從屬私有方法?
如果method2
僅被method1
調用,那麼您不必在method2
中使用鎖。 method1
中的一個鎖就足夠了。
當一個線程類method1
,它會獲取鎖,叫method2
,method2
不會併發,因爲其他線程另一個線程執行應該叫method1
第一,並且在這種情況下,method1
會失敗獲得鎖定。
假設同步方法,這是真的。如果同步在不同的對象上執行,那麼它可能不是。 – 2012-01-08 02:27:16
你應該用問號('?')和句號('.')來標記問題,否則你的帖子很難消化。 – 2012-01-08 02:22:41