gpt4 book ai didi

c++ - 在 C++ 中,使用可用的 linux api,有没有办法让事件在时间 t 过去后发生?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:02:08 25 4
gpt4 key购买 nike

到目前为止,我一直在这个项目中使用 linux api 和 boost 库,所以理想情况下我想坚持使用它们。

我想知道我的服务器每秒发送了多少字节。我的计划是只有一个变量,它会每秒重置一次,我每次发送时都会附加 send() 函数的返回值(返回值是发送的字节数)。

问题是:我怎么知道什么时候停止附加到变量?我想要某种类型的中断事件,它会告诉我“嘿,已经过了一秒钟!记录发送的字节并在再次附加到它之前重置变量!”我已经有一个 epoll 设置,所以如果我可以添加某种类型的文件描述符,我将使用 epoll 进行轮询,那将是理想的!

任何和所有建议/建议都将受到赞赏。提前致谢!

P.S:我有一个想法是有一个计时器线程。它会休眠一秒钟,然后在醒来时写入消息队列。由于消息队列可以由 epoll 轮询,我会得到事件并知道。卧铺线程将继续循环。有更好的想法吗?

最佳答案

设置一个SIGALRM处理程序来终止测量,然后调用alarm(2)用你想测量的时间(以秒为单位)。

关于c++ - 在 C++ 中,使用可用的 linux api,有没有办法让事件在时间 t 过去后发生?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4528947/

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