我有多进程应用程序。我开发了一个新的 c++ 类,我希望所有的孩子和父母都有自己的实例。每个对象只会创建一次。
在我的代码中,我有一个全局结构,它被 main 和所有实例都准备好使用,我希望这个新对象可以被实例全局访问,所以我也将它放在那里。我的结构是这样的:
typedef struct globalvar
{
worker_t *workers;
worker_t *curwkr;
etc.....
//std::shared_ptr<redisHandler> gredisHandler;
redisHandler gredisHandler; <---- New Object (Singleton)
} globalvar_t;
并且所有源文件都通过声明来使用它;外部 globalvar_t G;
第一个问题:当父母工作时,我的新对象的构造函数是否会被调用?
第二个问题:如果第一个问题产生我应该使用指针并在 new child spawn 之后使用 new 运算符(或 make_shared)创建对象,我应该注意在 child 终止时删除它吗?还是操作系统会处理它?