我有一个提升multi_index容器
typedef multi_index_container<
myData,
indexed_by<
random_access<>, // keep insertion order
ordered_non_unique< member<myData, time_t, &myData::timestamp> >
>
> myContainerType;
class myDataOperator
{
myContainerType myContainer;
// some functions for inserting and searching myContainer
}
另一个具有整个项目的一般功能的课程
class MasterClass
{
private:
myDataOperator myOp;
public:
// some general functionalities
// some procedures using myContainer
}
通过使用类MasterClass
功能
class ThreadClass1
{
private:
MasterClass master;
// some function calls of MasterClass with master
// thread 1 internal functionalities
}
class ThreadClass2
{
private:
MasterClass master;
// some function calls of MasterClass with master
// thread 2 internal functionalities
}
每当我运行项目时,每个线程(将有超过6个线程)都会创建自己的MasterClass
和myContainer
对象。我想要的是拥有一个MasterClass
对象来处理所有功能,并通过myDataOperator
和一个myContainer
对所有线程完全控制容器。所以他们需要某种Singleton
或Global
我猜,但我不知道该怎么做。
就我搜索互联网而言,我发现我需要某种synchronization
或locking
。那么我怎样才能使MasterClass
和myContainer
全局(或单身)全局(或单身)服务于所有线程?
感谢。
注意:我在Win7 x64计算机上的Visual Studio 2008中使用Visal C ++
答案 0 :(得分:0)