在Linux中,对于时间函数,我们有_r版本。例如,localtime有localtime_r,但是在Windows中,我无法找到类似的函数。Windows时间函数本质上是线程安全的吗?
使用Microsoft Visual Studio,您可以选择使用以下c-运行时库:
多线程库是线程安全的。单线程库最后出现在MSVC 2005中,并已从MSVC 2008中删除。
dll运行时(msvcrt.dll)只需要是线程安全的-由于实现位于dll中,因此在进程中共享给多个其他模块使用。所有这些模块都可能正在使用工作线程,因此必须是线程安全的,否则将无法设计一个合理的应用程序来使用它。
我认为它们不是线程安全的,也没有_r版本。但如果我错了,请纠正我。
也许最好使用自己的Windows函数,比如