我注意到大多数记录器都被宣传为线程安全。
这是什么意思?
它们对特定的线程库是安全的还是在任何多线程环境中都是安全的(例如PThread,Boost线程,C ++ 11线程,Win32线程,OpenMP线程......)?
答案 0 :(得分:1)
这意味着你不会在日志文件中得到这样的东西:
this is the line from the firsThis is line from the second thread
t thread
通常,这意味着记录器在任何支持的环境中写入流时都会使用所需的锁定。
答案 1 :(得分:1)
如果记录器是线程安全的,这意味着您可以从任何线程调用其函数(无论是pthread还是boost或openmp)。这通常通过使用互斥锁来防止同时输出来完成。没有它们,如果从不同的线程使用日志,你的程序可能会输出混合行甚至崩溃。