记录和多线程

时间:2014-02-06 17:15:08

标签: c++ multithreading logging pthreads openmp

我注意到大多数记录器都被宣传为线程安全。

这是什么意思?

它们对特定的线程库是安全的还是在任何多线程环境中都是安全的(例如PThread,Boost线程,C ++ 11线程,Win32线程,OpenMP线程......)?

2 个答案:

答案 0 :(得分:1)

这意味着你不会在日志文件中得到这样的东西:

this is the line from the firsThis is line from the second thread
t thread

通常,这意味着记录器在任何支持的环境中写入流时都会使用所需的锁定。

答案 1 :(得分:1)

如果记录器是线程安全的,这意味着您可以从任何线程调用其函数(无论是pthread还是boost或openmp)。这通常通过使用互斥锁来防止同时输出来完成。没有它们,如果从不同的线程使用日志,你的程序可能会输出混合行甚至崩溃。

相关问题