我的问题是这样:
界面线程调用dll功能启动一个线程,此线程会再启动其它线程;
界面线程调用dll功能的停止功能,dll等待所有线程退出,然后返回;结果发现停止返回后,线程才开始执行。原因应该是:
启动的线程还没来得及执行,界面便执行了停止功能;
而我在等待线程退出时,采用WaitForSingleObject,
通过Trace看来,WaitForSingleObject在"线程没执行"、和"线程已结束"时结果一样;不知大家如何处理这种情况?
难道要在WaitForSingleObject后,再加个Terminate?
界面线程调用dll功能启动一个线程,此线程会再启动其它线程;
界面线程调用dll功能的停止功能,dll等待所有线程退出,然后返回;结果发现停止返回后,线程才开始执行。原因应该是:
启动的线程还没来得及执行,界面便执行了停止功能;
而我在等待线程退出时,采用WaitForSingleObject,
通过Trace看来,WaitForSingleObject在"线程没执行"、和"线程已结束"时结果一样;不知大家如何处理这种情况?
难道要在WaitForSingleObject后,再加个Terminate?
while(1)
{
if(WaitForSingleObject.....)
.....
}
{
Sleep(100);
}
WaitForSingleObject(handle...);