动态对象和多线程
我最近在写一个多线程的程序。程序会一次性启动n个线程。但是每个线程传入的参数是一个动态分配的对象。程序能正确运行,前提是我在主程序中不去销毁这些对象,而在线程中做。但这样做我总觉得不是最好的。我是希望能找一个类似于boost::shared_ptr的方案。我试了shared_ptr,但是编译无法通过。求大牛帮忙看看。
能运行的程序(我在线程函数中获得p并在线程结束时销毁之,程序能运行):
for(int i=0; i<100; i++){ CETF *p = new CETF(); boost::thread * thrdETFPricing = new boost::thread(boost::bind( &CETF::Pricing, p));}for(int i=0; i<100; i++){ shared_ptr<CETF> p(new CETF()); boost::thread * thrdETFPricing = new boost::thread(boost::bind( &CETF::Pricing, p));}std::vector<shared_ptr<CETF>> CETF_vec
[解决办法]