我最近在开发一个视频监控系统,其中要和一个视频采集的串口设备打交道,我每次处理采集图像时,都采用4个工作者线程来同时处理4幅不同的图像,但目前的问题是此软件运行一段时间后,分别处理图像数据的4个线程有可能有3个或2个或1个要失去响应,我觉得有可能是在征用串口时造成的,请大家看看我的多线程串口同步是不是有什么问题
....
CRITICAL_SECTION pcs;
While(!TryEnterCriticalSection(&pcs))
{
sleep(0);
}
//写串口
m_serialport.Writetoport();
Sleep(80);
m_serialport.Writetoport();
Sleep(80);
LeaveCriticalSection(&pcs);
...
//注:以上的写串口指令之后的延时是必须的,否则采集结果会出错
请问以上结果有什么不对的,如果大家认为有什么不妥,请告诉小弟一声,在这里多谢大家了!!!
....
CRITICAL_SECTION pcs;
While(!TryEnterCriticalSection(&pcs))
{
sleep(0);
}
//写串口
m_serialport.Writetoport();
Sleep(80);
m_serialport.Writetoport();
Sleep(80);
LeaveCriticalSection(&pcs);
...
//注:以上的写串口指令之后的延时是必须的,否则采集结果会出错
请问以上结果有什么不对的,如果大家认为有什么不妥,请告诉小弟一声,在这里多谢大家了!!!
我查MSDN好象没发现,也经常这样用