2012-01-08 56 views
1

說我有一個公衆method1打電話給私人method2,我用鎖來保證method1的線程安全,我需要用method2上的鎖嗎? method2只能通過method1調用。我是否需要鎖定從屬私有方法?

+2

你應該用問號('?')和句號('.')來標記問題,否則你的帖子很難消化。 – 2012-01-08 02:22:41

回答

2

如果method2僅被method1調用,那麼您不必在method2中使用鎖。 method1中的一個鎖就足夠了。

當一個線程類method1,它會獲取鎖,叫method2method2不會併發,因爲其他線程另一個線程執行應該叫method1第一,並且在這種情況下,method1會失敗獲得鎖定。

+0

假設同步方法,這是真的。如果同步在不同的對象上執行,那麼它可能不是。 – 2012-01-08 02:27:16

相關問題