c++ map测试,插入和查询是否线程安全

结论:非线程安全

现象:程序会挂掉

#include 
#include 
#include 

using namespace std;

std::unordered_map m;

void f()
{
    while(1)
    std::cout << m[-1];
}

int main()
{
    m[-1] = -1;
    std::thread t = std::thread(f);
    for (int i = 0; i < 1000000; ++i)
    {
        m[i] = i;
    }
    t.join();

    return 0;
}

你可能感兴趣的:(c++,算法,开发语言)