为多个对象创建单个线程

时间:2017-11-15 05:36:39

标签: c++ multithreading

每当创建一个对象时,我都会创建一个线程,我在构造函数本身创建的线程。因此,根据创建的对象数量,线程数将等于创建的对象数。但是我想创建一个单独的线程,无论创建多少个对象..

任何帮助都将不胜感激。

我不能把代码放在这里,因为它太大了。 一个简单的建议对我有帮助。

2 个答案:

答案 0 :(得分:0)

您可以使用singleton design pattern限制对象拥有一个(或特定数量)实例。此外,如果您从多个线程创建对象,请查看this以获取线程安全实现。

答案 1 :(得分:0)

我建议将线程移到单独的类中,并在主类t.e中创建它的静态对象。像这样的东西

MyThreadClass {
    // implement your code to handle thread
};

MyObjectClass {
    static MyThreadClass* myThread; // static object to keep single thread  
};

main() {
    // create multiple MyObjectClass 
}

我使用std :: thread

检查这个概念非常简单code