STL中map,vector等线程安全一个简单的个人想法

STL中map,vector等线程安全一个简单的个人想法

 

主线程M
数据D:map
< int ,std:: string >
全局变量bool:IsModified
线程B负责更新D,D更新时,并负责修改全局IsModified 为true
工作线程:A,只进行读数据D,不进行写操作.

线程A伪代码如下:
while(1){
    map
< int ,std:: string >   * pData;
    if  (IsModified){
        pData 
=  GetData();
       
// 重新获取新数据
    }
    //迭代pData
    //do something
    Sleep(1);
}


// 这样就不需要使用临界区了
// 个人想法,欢迎拍砖.

你可能感兴趣的:(STL中map,vector等线程安全一个简单的个人想法)