美好的一天,
我是线程新手,我想知道我是否有类似的东西(C ++的上下文和X线程库):
//Pseudo code...//
void OnThread() {
someGlobalVar = 2;
someGlobalVar += 4;
}
void main()
{
ThreadHandle someThreadHandle = MakeThread( &OnThread );
//Can a torn write occur?//
someThreadHandle.Detach();
//Can "someGlobalVar" be trusted?//
std::cerr << someGlobalVar << "\n";
return ( 0 );
}
someGlobalVar
是否应用了撕裂的写入,分离后是否可以认为是“安全的”?
答案 0 :(得分:1)
只要程序仍在运行,分离线程是安全的,分离后线程将继续运行。但是使用一个会阻塞的连接会更安全,直到线程完成执行。