【发布时间】:2011-11-16 10:36:24
【问题描述】:
我实际上正在寻找一种在我的 C++ 中进行异步和线程安全日志记录的方法。
我已经探索过线程安全的日志记录解决方案,例如 log4cpp、log4cxx、Boost:log 或 rlog,但似乎它们都使用互斥锁。据我所知,互斥锁是一种同步解决方案,这意味着所有线程在尝试写入消息时都会被锁定,而其他线程则会锁定。
你知道解决办法吗?
【问题讨论】:
-
如果您在写入日志文件时不使用互斥锁,则可能会出现崩溃或混合日志,因为您的写入访问是同时进行的
标签: c++ multithreading logging asynchronous thread-safety