UINT CNrcServer::Run(LPVOID pParam) {
//通过丝程传入当前类的地址
CNrcServer* pNrcServer = (CNrcServer*)pParam;
while(1) {
//获取当前系统时间
DWORD currentTime = GetTickCount();
m_dwLastPlayingTime 是在一个网络正常运行线程函数中定义的变量
signed int intervalTime = currentTime - pNrcServer->m_dwLastPlayingTime;
对获取的时间作为比较,如果大于5秒,视为网络断线
if (intervalTime > 5000) {
pNrcServer->m_bNetWorkstate = FALSE;
Sleep(1000);
pNrcServer->m_bNetworkFlag = FALSE;
AfxEndThread(0);
}
}
return 0;
}
方法是我们领导说的,但是他说这个循环很耗资源。问下各位如何改善!
浙公网安备 33010602011771号