相关疑难解决方法(0)

易失性和CreateThread

我刚刚问了一个涉及volatile:volatile array c ++的问题

然而,我的问题产生了关于什么volatile做的讨论.

有人声称在使用时CreateThread(),您不必担心volatiles.另一方面,Microsoft提供了一个volatile使用两个线程创建时的示例CreateThread().

我创建在Visual C下面的示例++速成2010年,如果你将其标记不要紧done作为volatile或不

#include "targetver.h"
#include <Windows.h>
#include <stdio.h>
#include <iostream>
#include <tchar.h>

using namespace std;

bool done = false;
DWORD WINAPI thread1(LPVOID args)
{
    while(!done)
    {

    }
    cout << "Thread 1 done!\n";
    return 0;
}
DWORD WINAPI thread2(LPVOID args)
{
    Sleep(1000);
    done = 1;
    cout << "Thread 2 done!\n";
    return 0;
}

int _tmain(int argc, _TCHAR* argv[])
{
DWORD …
Run Code Online (Sandbox Code Playgroud)

c++ volatile thread-safety

4
推荐指数
1
解决办法
1694
查看次数

标签 统计

c++ ×1

thread-safety ×1

volatile ×1