首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java.time.Instant (1.8)线程安全吗?

java.time.Instant (1.8)线程安全吗?
EN

Stack Overflow用户
提问于 2018-11-21 01:24:59
回答 2查看 1.3K关注 0票数 0
代码语言:javascript
复制
Instant instant;
void updateBy(){
   instant = Instant.now();
}

如果是,如何证明即时线程是安全的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-11-21 01:27:33

根据实现说明下的Instant文档:

这个类是不可变的和线程安全的。

票数 6
EN

Stack Overflow用户

发布于 2018-11-21 02:07:12

如何证明即时线程是安全的?

分析(使用健全的数学/形式化方法)源代码,以证明它满足了线程安全的所有要求。这是证明是线程安全的唯一方法。

你不能通过测试来证明这一点。

您可以任意方式测试非线程安全代码,并通过安全测试。但这证明不了什么。测试仍然可能在不同的操作系统平台上失败,或者在Java的不同版本(可能是将来)上失败。

(你可以通过测试来证明某些东西是不安全的。如果测试显示出非线程安全行为的无可争辩的症状,那就是“存在的证据”)。

对于Instant类来说,这应该是没有意义的。javadoc指定Instant类是线程安全的.除非您有特定的理由相信这个类不是线程安全的(这将是,一个真正的JVM bug),那么最好不要浪费时间去寻找可能不存在的东西。

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

https://stackoverflow.com/questions/53404025

复制
相关文章

相似问题

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