GlobalMemoryStatusEx线程安全吗?

KSl*_*moe 2 c++ windows thread-safety

MSDN页面:

"GlobalMemoryStatusEx函数返回的信息是易失性的.无法保证对此函数的两次连续调用将返回相同的信息."

这是有道理的,但我无法确定这是否是线程安全的.有人知道这种或那种方式吗?我试过谷歌搜索但无法找到这些信息.

Cla*_*dix 6

MSDN页面指出的是函数返回的信息随时间变化:这就是"volatile"的含义.例如,返回的信息GetSystemTime也是"易失性的".

关于程序的其他不同概念是"可重入"和"线程安全".重入意味着过程使用的信息依赖于局部变量,而不是全局变量,这可以被解释为线程安全过程的一种形式.但是,"线程安全"意味着该过程在访问过程所需的资源时实现线程互斥机制.

现在,尽管MSDN没有说明该函数是否是线程安全的,但只要它访问系统资源,我们就可以认为该函数实际上是线程安全的.此外,该函数采用指向本地结构的指针(函数在其中写入信息),因此它是可重入的.如果GlobalMemoryStatusEx返回指向全局结构的指针,那么我们可能会怀疑该函数不是线程安全的.在这种情况下,MS的人可能会注意到这一点.例如,请参阅此链接备注部分的最终说明:http://msdn.microsoft.com/en-us/library/2c8d19sb(v=vs.90).aspx