在多处理中使用C ++ Object作为全局变量

时间:2013-09-26 06:29:23

标签: c++ constructor multiprocessing

我有多个流程应用程序。我开发了一个新的c ++类,我希望所有的孩子和父母拥有自己的实例。此对象仅为每个对象创建一次。

在我的代码中我有一个全局结构,正在使用main和所有实例都准备就绪,我希望这个新对象可以通过实例全局访问,所以我也会把它放在那里。我的结构就像:

typedef struct globalvar
{
    worker_t *workers;
    worker_t *curwkr;
    etc.....
    //std::shared_ptr<redisHandler> gredisHandler;
    redisHandler gredisHandler;   <---- New Object (Singleton)
} globalvar_t;

所有源文件都通过声明来使用它; extern globalvar_t G;

第一个问题:当父工作时,我的新对象的构造函数是否会被调用?

第二个问题:如果第一个问题产生我应该使用指针而在新的子项生成后使用new运算符(或make_shared)创建对象,我应该注意在子终止时删除它吗?或OS会照顾它吗?

0 个答案:

没有答案