从阅读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异常)?