从套接字接收消息的无限循环内ussleep的另一种方式
Alternate way of usleep inside infinite loop for recieving msg from socket
在无限while循环中,我不断检查从套接字接收的消息并在循环中使用ussleep()。但我想要另一种方法来实现它,而不是在无限循环中使用ussleep()。怎么做?
不要给usleep
打电话。我一直不明白为什么有人会做那样的事。使用阻塞型套接字阻塞recv
或使用非阻塞型套接字阻塞select
或poll
遵循你能找到的任何相同的示例代码的模式,但是如果你不知道你在做什么,不要编造反模式。
调用线程的执行可以通过调用ussleep()使线程休眠一段时间。另一种替代方法是定义一个新的线程来模拟中断(ussleep),就像等待键盘输入或某种信号(这需要是周期性的,因为线程必须被恢复以处理响应线程)。但我的建议是,当有更简单的方法时,为什么要把事情弄复杂呢?
相关文章:
- 文本冒险游戏 - 如何区分一种项目类型与另一种项目类型以及如何构建项目类/子类
- 为什么一种算法在相同的时间复杂度下比另一种算法更快?
- 当 c++ 需要一种数据类型并获取另一种数据类型时会发生什么?
- 另一种类型的智能ptr,比如具有弱refs的unique_ptr
- 只需要知道我在c ++中打印模式的方式是否有效,或者有另一种方法可以有效地做到这一点
- void* 数组将元素转换为另一种类型
- 在C++中使用另一种语言
- 将 X 坐标从一种分辨率转换为另一种分辨率
- 在 c++ 中将一种结构类型分配给另一种类型
- 如何在一种方法中创建对象并在另一种方法中使用它
- 常量静态成员函数:有另一种方法可用吗?
- 将空基类优化对象强制转换为另一种类型是否会破坏严格的别名?
- 如何将程序从主发送到另一种方法
- 如何使用shared_ptr或推荐另一种方法(unique_ptr)
- 存储多种颜色并从一种颜色切换到另一种颜色
- 如何测试指针类型是否可以安全地转换为另一种指针类型?
- 尝试用另一种语言解密时 AES 解密错误
- 在C++编程中继续下一行的另一种方法是什么?
- 将 32 位浮点数和不强制转换的 32 位整数与双精度进行比较,当其中一个值可能太大而无法完全适合另一种类型时
- 从套接字接收消息的无限循环内ussleep的另一种方式