MSVC的时间函数是否线程安全?

13

在Linux中,对于时间函数,我们有_r版本。例如,localtime有localtime_r,但是在Windows中,我无法找到类似的函数。Windows时间函数本质上是线程安全的吗?

4个回答

13

使用Microsoft Visual Studio,您可以选择使用以下c-运行时库:

  • 静态单线程库(libc)
  • 静态多线程库(libcmt)
  • 动态多线程库(msvcrt)

多线程库是线程安全的。单线程库最后出现在MSVC 2005中,并已从MSVC 2008中删除。

dll运行时(msvcrt.dll)只需要是线程安全的-由于实现位于dll中,因此在进程中共享给多个其他模块使用。所有这些模块都可能正在使用工作线程,因此必须是线程安全的,否则将无法设计一个合理的应用程序来使用它。


9

5

-4

2
如果我错了,请纠正我 - 你错了。请看其他答案。 - user719662

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接