2013-05-17 48 views

回答

1

但是爲什麼它應該阻止,作爲升級所有權,它還不是獨佔所有權?

如果某人已經擁有獨佔所有權,那麼沒有人可以獲得共享或可升級的所有權;所以lock_sharedlock_upgrade都會在這種情況下阻塞。

而且,正如在評論中指出,只有一個線程可以有升級的所有權;所以lock_upgrade也會阻止,如果有人已經有。

+0

您是對的,作爲附加說明,一次只允許一個線程獲得可升級的所有權。如果另一個線程獲得了可升級的所有權,則對lock_upgrade的調用將被阻止。 –

+0

@DaveS:謝謝,我不知道那個細節。 –

相關問題