在Linux中gettimeofday函数线程是否安全?

时间:2010-07-10 17:41:47

标签: c++ c linux

当前时间必须全局存储才能使gettimeofday正常工作,但我不确定该函数是否修改了任何全局状态,以便并发执行未定义。

4 个答案:

答案 0 :(得分:22)

gettimeofday是线程安全的。

here列出的(posix)函数可能不是,gettimeofday不是其中之一。

答案 1 :(得分:3)

是的,它是线程安全的。它修改的唯一数据是你传递指针的结构,因此一个非线程安全的实现必须做一些怪异的事情。

祝你的项目好运。

答案 2 :(得分:2)

glibc中,gettimeofday(2)是一个围绕系统调用的简单包装器(实际上是vsyscall)。用户区中未触及任何数据。它是线程安全的。

答案 3 :(得分:1)

此调用未修改任何数据。你得到一份副本。因此它完全是线程安全的。