gpt4 book ai didi

c++ - 线程写入日志文件

转载 作者:行者123 更新时间:2023-11-30 02:08:28 25 4
gpt4 key购买 nike

我正在为我的 (2d) 游戏引擎设置日志系统,它应该能够将行写入文件。

重点是,写入光盘不是瞬间完成的。如果文件写入(基本上是 file.flush())是在调用 Trace.Write() 的线程中完成的,它会在写入文件时挂起吗?

如果是这种情况,那么创建一个仅用于将日志行写入日志文件的线程会很有趣,而处理线程将继续它正在做的事情。

与控制台相同的问题(当我在这里时......)。

问题是:

“在计算密集型程序中,线程化控制台和/或文件写入是否有趣?”

谢谢。

最佳答案

是的,您的线程可能在处于 IOWAIT 状态时被挂起。这是典型的暂停情况。

创建一个只负责写入日志文件条目的线程是否是个好主意取决于您的代码。它是 I/O 绑定(bind)的吗?那么这可能是个好主意。您的代码受 CPU 限制吗?那么它不会有太大帮助。两者都不是吗?那就没关系了。

解决这个问题的最佳方法是分析您的代码并对两个版本进行基准测试。

关于c++ - 线程写入日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6803778/

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