從閱讀here我看到演員是可重入的,我期望以下情況屬實:如果我有單一類型的演員ThespianType
但是三個具體演員ThespianType
(T1
, T2
,並T3
),那麼這將不會發生死鎖:可靠的演員在不同演員類型中的重入
(external client) -> T1.MethodA() -> T2.MethodB() -> T3.MethodC() -> T1.MethodD()
我的問題是:同樣的重入擴展到多個演員類型?
例如,假設我們有:
- 兩位男主角類型
PainterType
和BrushType
;和每種類型的 - 一個演員:畫家
P1
和刷B2
立即發生這種情況:
(external client) -> P1.MethodX() -> B2.MethodY() -> P1.MethodZ()
假設MethodZ()
是一個簡單的方法,沒有阻塞調用。
問題:這個死鎖(或者由於檢測到死鎖而引發ServiceFabric異常)?