不敢表白的牛肉面 · 上海风华秋实文化传媒有限公司_百度百科· 1 周前 · |
阳光的海豚 · 染色体变异说_百度百科· 1 周前 · |
刚分手的茶壶 · 联合国正式接管中非共和国维和事务— ...· 4 月前 · |
从未表白的棒棒糖 · 张艺谋官宣拍《英雄联盟》网剧,张艺谋称:“都 ...· 12 月前 · |
呐喊的包子 · 瓦乡话(乡话)是否可以看作中古汉语后代? - 知乎· 1 年前 · |
mktime的手册页面没有提到mktime的线程安全性,但是它确实提到了这一点,这使得它看起来像线程 不安全的 。
调用mktime()还使用有关当前时区的信息设置外部变量tzname。
我知道在Linux上,mktime调用tzset来设置tzname,这是char*[]:
外焦2;
而tzset将读取环境变量TZ和文件/etc/localtime。因此,除非mktime使用互斥锁来保护所有这些操作,否则我看不出它如何是线程安全的。
发布于 2013-08-21 10:45:17
的确,
mktime
有副作用,但在大多数程序中,副作用应该是无害的。
根据
POSIX
,副作用就像调用了
tzset
一样,这反过来只是将时区信息从
TZ
环境变量复制到C字符串的
tzname
数组中。如果应用程序不更改
TZ
,那么并发调用
mktime()
就没有问题。
除此之外,GNU的
tzset
does use a mutex
保护
tzname
的完整性。这是一个质量的实施补充,没有保证的标准.
https://stackoverflow.com/questions/18355101
复制相似问题
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2023 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号: 粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
不敢表白的牛肉面 · 上海风华秋实文化传媒有限公司_百度百科 1 周前 |
阳光的海豚 · 染色体变异说_百度百科 1 周前 |
呐喊的包子 · 瓦乡话(乡话)是否可以看作中古汉语后代? - 知乎 1 年前 |