即阻塞代碼,我將如何將其轉換爲非阻塞異步? 我試圖做一個客戶端和服務器之間的異步通信。 這裏是我的阻止同步代碼,我將如何做到異步?將阻塞同步代碼轉換爲異步
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;
}
你怎麼做的 「溝通」?你在使用特定的框架嗎?一些平臺特定的功能?請詳細說明!請花一些時間[閱讀如何提出好問題](http://stackoverflow.com/help/how-to-ask),並學習如何創建[最小,完整和可驗證示例](http: //stackoverflow.com/help/mcve)。 –
我正在使用OGR Api。我將編輯我的帖子 –