以前有个比较有名的actor的叫libtheron,不过作者已经不维护了。现在大家都用caf。
我以前实现过一个actor模型,只用uint64_t做邮箱地址。actor模型的优点是结构简单,完全不会出现死锁。
一个人业余单打独斗,能轻松搞定10W+行的project。
我感觉得到的缺点:
1.硬性把逻辑拆分配成消息模式。
2.actor模型不太符合类的继承模式。
3.消息模式下连续逻辑实现有困难,不过coroutine刚好可以克服。
【 在 hgoldfish 的大作中提到: 】
: 这种方案的话,协程锁的开销比较大。我之前也考虑过这种方案。你前面也说过,可能不太适合有复杂交互的。
: go 语言其实也是你这种方案,所以需要引入 channel 这个东东。使用所谓的 CSP 模型,和所谓的 ACTOR 方案差不多,而不是开销巨大的锁模型。
: 总之我觉得一定要有协程间同步,不然不够用。
: ...................
--
FROM 158.140.1.*