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

9

为了让gettimeofday函数正常工作,当前时间必须全局存储。但是我不确定该函数是否修改任何全局状态,因此并发执行的结果未定义。

4个回答

23

gettimeofday是线程安全的。

这里列出的(posix)函数可能不是线程安全的,但gettimeofday不在其中。


4
引用一下比只是说“它是安全的,因为它不应该需要执行任何不安全的操作”更好。+1 - R.. GitHub STOP HELPING ICE

3

是的,它是线程安全的。 它修改的唯一数据是您传递指针的结构中的数据,因此如果实现不是线程安全的,则必须进行某些神秘操作。

祝您的项目顺利。


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

1

此调用不会修改任何数据,只是返回一个副本。因此它完全线程安全。


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