[问题] threadpool内的程式没有启动@@?

楼主: BIAO (超越自己)   2015-05-06 11:50:15
各位板友大家好,
之前用C++写的计算程式目前有一点问题,
发生的机率不高,但发生了就会导致资料少了一点。
查证后发现是在使用thread pool时,
程式貌似没有顺利被启动。
片段程式码如下:
QueueUserWorkItem( DataThread, &threadData, WT_EXECUTEDEFAULT );
DWORD WINAPI DataThread(PVOID pContext)
{
..(略
pThreadData->pArchiver->AData( pThreadData->st );
pThreadData->pArchiver->BData( pThreadData->st );
pThreadData->pArchiver->CData( pThreadData->st );
pThreadData->pArchiver->DData( pThreadData->st );
return 1;
}
但有时候会发生AData有运算,但B~DData程式皆没被执行,
会知道是因为每个程式开始时我都会写入谁被启动的资讯至记事本。
目前是每15分钟时会启动DataThread一次。
请问有板友遇过相同的问题吗?又是如何解决的呢!?
作者: TobyH4cker (Toby (我要当好人))   2015-05-06 15:43:00
正常是要ABCD依序执行吗?
作者: azureblaze (AzureBlaze)   2015-05-06 18:35:00
出了exception整条theard被终止?
楼主: BIAO (超越自己)   2015-05-07 11:49:00
回T大,对阿..因为程式码的顺序是这样..但只执行了A..回a大..目前猜想有这个可能!不过因为LOG记录庞大..只好再为程式加上显著的LOG点,确认断在哪里..

Links booklink

Contact Us: admin [ a t ] ucptt.com