C++ 如何改进我在C++;?
在我的聊天室代码。我使用“while(true)”来保存接收消息,这样会浪费我的CPU。我如何改进我的代码?现在我不知道了 (这是我代码的一部分)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
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);
}
}