工作者线程里,如何做一个无限循环,循环内容是等一个函数完成,然后等待指定时间,再从新开始运行函数,这样做行不?
int i=0;
while(i>=1)
{
fun();
sleep(100);
i++;
if(i>65535)
i=1;
}
直到主线程结束。这样做有没有问题?
int i=0;
while(i>=1)
{
fun();
sleep(100);
i++;
if(i>65535)
i=1;
}
直到主线程结束。这样做有没有问题?
解决方案 »
- 线程while循环中使用WaitForSingleObject函数循环次数受限问题
- 用ADO COMMAND执行带参SQL语句
- 在不规则窗口的边界上加亮线??
- 如何监测打印机打印了几张?
- DLL声明
- 地址赋值时 sin_addr.S_un.S_addr 与sin_addr.s_addr 的问题。为什么在MSDN里面的struct in_addr 定义中没有s_addr 这个成员???
- 算法问题,各位高手来,成者以200分相送!
- WSAPROTOCOL_INFO 结构在哪里设置啊,谢谢.
- 初学VC,想多交几个朋友
- 如何知道光驱是打开的还是关闭的???
- MSchart已注册,CMSChart没有定义
- ListCtrl如何刷新的问题
while(i>=1)
{
fun();
sleep(100);
i++;
if(i>65535)
i=1;
}
=========
i初值是0,根本就进不了循环啊
while(1)
{
fun();
sleep(100);
}
HANDLE hEvent = CreateEvent( NULL, TRUE, FALSE, NULL );
while( WaitForSingleObject(hEvent/*通知退出的事件句柄*/, 2000/*等待时间*/) == WAIT_TIMEOUT )
{
fun();
}主线程退出前设置事件信号,并等待工作线程退出
SetEvent( hEvent );
WaitForSingleObject( hThread/*工作线程句柄*/,INFINITE );