DWORD threadID = 0; CreateThread(0, 0, accept_request, (void*)socketConnection, 0, &threadID);,创建该线程之后,如何将超时时间设为无限
时间: 2024-01-22 21:19:56 浏览: 66
windows下设置socket的connect超时
5星 · 资源好评率100%
可以使用`SetThreadPriority`函数来将线程的优先级设置为`THREAD_PRIORITY_HIGHEST`,这样操作系统会优先调度该线程,使其尽可能地快速执行。同时,可以在线程中使用`Sleep(INFINITE)`函数来使线程进入无限等待,直到有事件发生才会被唤醒。具体实现如下:
```
DWORD threadID = 0;
HANDLE threadHandle = CreateThread(0, 0, accept_request, (void*)socketConnection, 0, &threadID);
SetThreadPriority(threadHandle, THREAD_PRIORITY_HIGHEST);
Sleep(INFINITE);
```
需要注意的是,在使用`Sleep`函数时,需要将线程的句柄保存在变量`threadHandle`中,以便之后调用`SetThreadPriority`函数。此外,需要在`accept_request`函数中添加退出机制,以便在需要结束线程时能够正确退出。
阅读全文