hag*_*gor 5 c++ multithreading c++11
使用std :: shared_ptr <std :: thread>是否有意义?逻辑很简单:如果不需要线程,删除它,如果需要new,则重新定位它.有没有办法将这个概念与汇集线程进行比较?
我确实知道我系统中线程的确切数量(我开发了图像处理算法,我想给每个"算法"类的子项一个单独的线程(也许是为了私有,然后不需要shared_ptr),这个算法将运行,如果没有提供图像,则将此私有线程空闲.这是一个坏概念吗?
Max*_*kin 12
您可能会错过std::thread析构函数不终止线程的事实.正如评论中已经提到的,如果之前detach或join之前没有调用过,std::thread析构函数调用std::terminate.换句话说,std::shared_ptr<std::thread>是没用的.
A std::thread是一个相当低级的对象.你可能想看看: