gpt4 book ai didi

c - c 中的 setTimeOut 等价物?

转载 作者:太空宇宙 更新时间:2023-11-04 01:12:08 25 4
gpt4 key购买 nike

我正在处理 pthread 多线程代码,每个线程都在文件描述符上调用 read()。 read() 是一个阻塞调用,因此它等待数据。但我希望它只等待 3 秒来等待数据。

我想过使用 alarm() 和处理 SIGALRM,但如果我在一个线程中发出警报,所有线程都会收到该 SIGALRM 信号,并且所有线程都将放弃读取。我该怎么做?

最佳答案

使用 select要求那个。它有一个允许您指定超时的参数。

select 的 Linux 手册页有示例用法,您可以在此处和网络上的其他地方找到大量示例。

如果您不担心便携性,还有更多现代/功能选项。

您可能想查看库以抽象出所有内容。 libevent值得一看,并包装了上述大部分特定于操作系统的接口(interface)。

关于c - c 中的 setTimeOut 等价物?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10159932/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com