【发布时间】:2023-03-12 12:13:02
【问题描述】:
这是阻塞代码,我如何将其转换为非阻塞异步? 我正在尝试在客户端和服务器之间进行异步通信。 这是我的阻塞同步代码,我将如何异步执行?
bool S3W::CImplServerData::WaitForCompletion(unsigned int timeout)
{
unsigned int t1;
while (true)
{
BinaryMessageBuffer currBuff;
if (m_Queue.try_pop(currBuff))
{
ProcessBuffer(currBuff);
t1 = clock();
}
else
{
unsigned int t2 = clock();
if ((t2 - t1) > timeout)
{
return false;
}
else
{
Sleep(1);
}
}
}
return true;
}
【问题讨论】:
-
如何进行“沟通”?您是否使用特定的框架?一些特定于平台的功能?请详细说明!请花一些时间到read about how to ask good questions 学习如何创建Minimal, Complete, and Verifiable Example。
-
我正在使用 OGR Api。我将编辑我的帖子