Is it thread safe to call printf in threads that run simultaneously? [duplicate]
Possible Duplicate:
stdout thread-safe in C on Linux?
Say thread1 and thread2 are similar and at the end of their jobs they both printf. Is it thread safe or do they have to lock printf somehow?
Is it related to stdout? What if one does fflush(stdout) after each printf? Does it change anything?
The POSIX.1 and C-language functions that operate on character streams (represented by pointers to objects of type FILE) are required by POSIX.1c to be implemented in such a way that reentrancy is achieved (see ISO/IEC 9945:1-1996, §8.2).
refer to Thread-safety and POSIX.1
Note: Some functions can be reentrant or non-reentrant, depending on their arguments.
精彩评论