我碰到这个代码在一个大的代码库与辅助线程相比,在辅助线程上崩溃是否有优势?
DWORD WINAPI ThreadFunc (LPVOID lpParam)
{
int *x = 0;
*x = 1234; // Access violation
return 0;
}
void Manager::Crash()
{
Log("Received a remote command to crash Server.");
DWORD dwThreadId, dwThrdParam = 1;
HANDLE hThread = ::CreateThread(NULL, 0, ThreadFunc, &dwThrdParam, 0, &dwThreadId);
}
我的问题是来了:为什么使用线程呢?如果ThreadFunc
中的代码是直接在Manager::Crash
中完成的,它会或多或少地是线程安全的吗?如果我删除崩溃,我不愿意进行更改。
你从哪里得到这段代码? – Maz 2010-08-19 23:39:51
有趣的思想实验,但这不是一个伟大的标题。如何“在辅助线程与主要线程之间崩溃是否有优势?” – 2010-08-19 23:42:03
@quixoto:好标题,固定。 @Maz:为什么? – 2010-08-19 23:43:59