在同时运行的线程中调用printf是否可以安全线程?

时间:2010-12-04 13:12:35

标签: c multithreading thread-safety pthreads

  

可能重复:
  stdout thread-safe in C on Linux?

假设thread1和thread2相似,并且在他们的作业结束时他们都是printf。它是线程安全还是必须以某种方式锁定printf?

它与stdout有关吗?如果在每个printf之后执行fflush(stdout)怎么办?它会改变什么吗?

1 个答案:

答案 0 :(得分:11)

  

POSIX.1和C语言函数   对字符流进行操作   (由指向对象的指针表示   POSIX.1c要求输入类型FILE   以这样的方式实施   实现了重入(见ISO / IEC   9945:1-1996,§8.2)。

参考Thread-safety and POSIX.1

注意:某些功能可以是可重入的或不可重入的,具体取决于它们的参数。