【发布时间】:2015-05-27 08:06:20
【问题描述】:
我想使用getenv() 函数。
现在我从某人那里得到一个评论,如果多个线程正在调用这个函数,这将不是线程安全的。但是,如果我查看此函数的 information page,它会指出:
只要环境不变,并发调用这个函数是安全的。
我理解静态数据块的概念,函数返回一个指向它的指针。我知道块的内容会随着时间的推移而改变,通过多次调用函数,就像参考页面状态一样。
如果一个线程正在调用
getenv("myEnvVar1")
另一个人在打电话
getenv("myEnvVar2")
返回的指针指向的地方会使用相同的内存块吗?我应该如何理解“并发调用这个函数是安全的”这一事实?
【问题讨论】:
-
我认为这意味着只要您不调用
setenv或以其他方式修改环境就可以了。
标签: c++