C++ 如何改进我在C++;?

C++ 如何改进我在C++;?,c++,C++,在我的聊天室代码。我使用“while(true)”来保存接收消息,这样会浪费我的CPU。我如何改进我的代码?现在我不知道了 (这是我代码的一部分) void*CooloiClientSocket::Recv\u t(void*arg) { std::字符串消息; CooloiSocket*serverSocket=静态_转换(arg); //CooloiClientSocket*p=新的CooloiClientSocket; while(true) { if(Recv(*serverSocket

在我的聊天室代码。我使用“while(true)”来保存接收消息,这样会浪费我的CPU。我如何改进我的代码?现在我不知道了

(这是我代码的一部分)

void*CooloiClientSocket::Recv\u t(void*arg)
{
std::字符串消息;
CooloiSocket*serverSocket=静态_转换(arg);
//CooloiClientSocket*p=新的CooloiClientSocket;
while(true)
{
if(Recv(*serverSocket,message))
{

std::cout可能更适合使用某些异步IO模型。如果您不想编写更复杂的IO模型,请将
sleep(1)
替换为
sleep(500)
。您应该查找同步recv函数,或一些可用数据的通知(例如
select()
poll()
)…如果不告诉我们您使用的套接字库,我们很难提供更具体的建议。
void* CooloiClientSocket::Recv_t(void* arg)
{
    std::string message;
    CooloiSocket* serverSocket = static_cast<CooloiSocket*>(arg);
    //CooloiClientSocket *p = new CooloiClientSocket;
    while(true)
    {
        if(Recv(*serverSocket,message))
        {

            std::cout << message << std::endl;
        }
        else
            break;

        sleep(1);
    }
}