我以前写过一个actor pool,大概是每个actor只接受消息,用一个uint64做邮箱地址。
如果要delete一个actor,就给他发个自杀消息。
然后他首先自己从pool中disable,不再接受任何消息,然后显式delete this。
只有pool和actor本身知道自己的this pointer。
给一个已经自杀的actor发消息,会收到pool发的一个bad_actor的回信。
好处是多线程异步编程非常简单,功能扩展很快。
我独自作战都能写出像模像样的东西。
缺点是actor本身继承关系有点混乱。
【 在 xieyf 的大作中提到: 】
: 现在有个大型场景模型(cad类的),里边涉及到许多对象,比如点,线,面,体等。这个模型是全局单例。
: 为了避免内存泄露,现在有两种做法
: 1 搞一个对象管理器,所有得创建都通过对象管理器,删除也是对象管理器代劳。
: ...................
--
修改:allegro FROM 209.249.20.*
FROM 209.249.20.*