倾销线程'将数据记录到公共缓冲区

时间:2016-02-23 05:31:29

标签: c++ multithreading logging synchronization

我的程序有不同的线程,一个常用的日志记录线程将会运行。

我的所有线程都必须将一些日志记录数据转储到日志记录线程中的缓冲区中。一旦缓冲区达到某个大小,日志记录线程就会写入日志文件。

如何在不影响正在运行的线程性能的情况下写入公共缓冲区。我正在考虑一些没有太多开销的方法,而不是使用互斥锁或任何其他同步机制。

1 个答案:

答案 0 :(得分:0)

您可能会发现使用互斥锁的性能损失足够低,以至于不值得尝试创建多生产者,单个使用者队列的麻烦。但是this question询问了这些事情,并提供了一些建议。