如題。
稍微解釋下,因?yàn)橛锌赡苡腥藭?huì)誤會(huì):放新線(xiàn)程里面去不就可以了?這沒(méi)有解決問(wèn)題。如此的話(huà),你那個(gè)線(xiàn)程函數(shù)怎么寫(xiě)?或者線(xiàn)程函數(shù)里調(diào)用的某個(gè)任務(wù)函數(shù)怎么寫(xiě)?總之,多線(xiàn)程雖然總是出現(xiàn)在這些問(wèn)題的解決方案中,但不是多線(xiàn)程解決了這個(gè)問(wèn)題。嗯……不知道說(shuō)清楚了沒(méi)?
目前我心里的答案只有這一種模式:
bool DoTask(HANDLE hQuitSignal)
{
while (!QuitCondition)
{
if (WaitForSingleObject(hQuitSignal, 0) == WAIT_OBJECT_0)
{
return false;
}
// Do something
}
return true;
}
其中,“// Do something”部分要細(xì)化到瞬間執(zhí)行完成的細(xì)度。
但是我很困惑的是,如果這些任務(wù)很繁重,難道我必須每進(jìn)行一些操作就 if (WaitForSingleObject(hQuitSignal, 0) == WAIT_OBJECT_0) 檢查下嗎?這樣豈不是這種檢測(cè)代碼充斥在任務(wù)中了?
不知各位有何經(jīng)驗(yàn)和體會(huì),求教~