关于线程退出和全局销毁的顺序

时间:2015-01-13 05:29:19

标签: c++ windows multithreading

std::string g_string;

void thread_func()
{
    while (true)
    {
        std::cout << g_string.c_str() << std::endl;
    }
}

int _tmain(int argc, _TCHAR* argv[])
{
    g_string = "test";
    for (size_t i = 0; i < 1000; ++i)
    {
        std::thread t(thread_func);
        t.detach();
    }
}

嗨,all。是否有关于windows os中全局对象析构和线程退出顺序的任何协议? 在析构函数销毁全局对象之后,一个仍处于活动状态的线程访问全局对象g_string,它可能会导致崩溃。是吗?

0 个答案:

没有答案