死循环线程怎么结束?
在主窗口FormContainer中创建一个线程用于对数据库的维护
FormShow()
{
pDBMain = new TDBMaintanceThread(true);
pDBMain->Resume();
}
void __fastcall TDBMaintanceThread::Execute()
{
while(true)
{
...
bool NetStatus1,NetStatus2;
NetStatus1 = SysTool->FrmCheckNet1->NetStatus;
::Sleep(3000);
NetStatus2 = SysTool->FrmCheckNet1->NetStatus;
if(!NetStatus1 && !NetStatus2 && !FormContainer->FlashTimer->Enabled)
FormContainer->FlashTimer->Enabled = true;
::Sleep(10000);
}
在 FormClose()
{
pDBMain->Terminate();
delete pDBMain;//没有这行时系统能够正常关闭,加上系统死机!
}
利用线程不停判断系统连接状态,从而设置定时器开关,使系统具备闪烁功能。
怎样结束pDBMain这个线程
图片的闪烁功能是否一定要用定时器,有什么其它方法。