首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >time.Location的并发安全

time.Location的并发安全
EN

Stack Overflow用户
提问于 2016-07-12 18:30:48
回答 1查看 173关注 0票数 1

time.LoadLocation("...")获取的time.Location可以安全地并发访问吗?

我之所以这样问,是因为我看到它在计算中考虑了夏令时(它是否访问从数据压缩文件加载的地图?它是实时计算的吗?我们需要锁住它吗?或者每次重新加载都足够快?)。

EN

回答 1

Stack Overflow用户

发布于 2016-07-12 19:55:05

Location上唯一公开的方法是StringLocation本身没有定义任何导出的字段:

代码语言:javascript
复制
type Location struct {
        // contains filtered or unexported fields
}

因此,一旦创建,它应该在其余生中保持不可修改。因此,它应该是安全的并发访问。

至于LoadLocation,它确实从文件中读取数据。所以你可以让一个互斥锁来保护每一个对LoadLocation的调用。

LoadLocation所需的时区数据库可能并不存在于所有系统上,尤其是非Unix系统。ZONEINFO查找由环境变量ZONEINFO指定的目录或未压缩的LoadLocation文件(如果有的话),然后查找Unix系统上的已知安装位置,最后查找$GOROOT/lib/time/zoneinfo.zip.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38326313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档