gpt4 book ai didi

c++ - C++ 中的异步线程安全日志记录

转载 作者:IT老高 更新时间:2023-10-28 22:19:12 29 4
gpt4 key购买 nike

如果可能的话,我正在寻找一种在我的 C++ 项目中进行异步和线程安全日志记录的方法。我目前正在为该任务使用 cerrclog,但由于它们是同步的,因此每次记录某些内容时执行都会暂停。这是一个相对图形繁重的应用程序,所以这种事情很烦人。

新的记录器应该使用异步 I/O 来消除这些暂停。线程安全也是可取的,因为我打算很快添加一些基本的多线程。

我考虑过一种每个线程一个文件的方法,但这似乎会使管理日志成为一场噩梦。有什么建议吗?

最佳答案

我注意到这个 1 岁以上的帖子。也许我写的异步记录器可能会感兴趣。

http://www.codeproject.com/KB/library/g2log.aspx

G2log 使用 protected 消息队列将日志条目转发到慢速磁盘访问的后台工作程序。

我已经尝试过使用无锁队列来增加 LOG 调用的平均时间,但减少了最坏情况的时间,但是我现在正在使用 protected 队列,因为它是跨平台的。它在 Windows/Visual Studio 2010 和 Ubuntu 11.10/gcc4.6 上进行了测试。

它已作为公共(public)领域发布,因此您可以随意使用它而无需附加任何条件。

关于c++ - C++ 中的异步线程安全日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2930258/

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