13.6.5 串口线程监控函数的实现
3个串口线程的监控函数StartMonitoring()、RestartMonitoring()、StopMonitoring(),分别控制着串口线程的开始、重启及挂起。实现如下:
- //启动串口线程
- 01 BOOL CMySerial::StartMonitoring()
- 02 {
- 03 if (!(m_Thread = AfxBeginThread(CommThread, this)))
- 04 return FALSE;
- 05 TRACE("Thread started\n");
- 06 return TRUE;
- 07 }
- 08 //重启串口线程
- 09 BOOL CMySerial::RestartMonitoring()
- 10 {
- 11 TRACE("Thread resumed\n");
- 12 m_Thread->ResumeThread();
- 13 return TRUE;
- 14 }
- 15 //挂起串口线程
- 16 BOOL CMySerial::StopMonitoring()
- 17 {
- 18 TRACE("Thread suspended\n");
- 19 m_Thread->SuspendThread();
- 20 return TRUE;
- 21 }
【代码解析】
这3个函数实现比较简单,分别调用了AfxBeginThread()、ResumeThread()及SuspendThread()函数实现线程的启动、重启及挂起。