读书人

使用TTHread怎么在没有任务时暂停

发布时间: 2012-03-07 09:13:51 作者: rapoo

使用TTHread如何在没有任务时暂停。 - C++ Builder / Windows SDK/API
我的TThread有excute

void __fastcall TRecvSocketThread::Execute()
{ char FHeader[4]; //数据包头读取到暂存。
int Header;
int len;
DWORD l;
//---- Place thread code here ----

while (!Terminated)
{//任务查询,有任务或是任务没有下达成功,如何等待?
//我用了
if (NoTask){
Sleep(10);
conntinue;
}

}
}


主线程分配任务的地方
环形缓冲区有写保护功能。

SetTask(TaskBuffer,NewTask);
if( pTackThread->Suspended) pPackThread->Resume();//判断任务是否执行,没有执行唤醒。


问题是用了Sleep比如说是50000ms 时,必须等那个时间过后才继续执行很怪呀。!!

[解决办法]

C/C++ code
...              if (NoTask){                       Suspend();                   } ... 

读书人网 >C++ Builder

热点推荐