Caldendar是线程安全的吗?

BatiTan 2008-12-04 02:58:56
利用java.util.Calendar获取系统时间是不是线程安全的?
请给出判断的具体理由~
...全文
2014 10 打赏 收藏 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
flsglhb 2010-09-27
  • 打赏
  • 举报
回复
急用,回复看看
yulu0214 2008-12-04
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 ChDw 的回复:]
如果只是获取时间,Calendar.getInstance()是线程安全的,因为实际上它是不断创建新对象的。

但是里面的set方法这些不是安全的
[/Quote]
学习
wm920 2008-12-04
  • 打赏
  • 举报
回复


为什么不写个独立的时间类型进行封装。通过代码调用自己写的时间封装方法。
这样就不用考虑线程安全问题。

例如客户端获取服务器端的准确时间问题。《就是一个例子》
ChDw 2008-12-04
  • 打赏
  • 举报
回复
如果只是获取时间,Calendar.getInstance()是线程安全的,因为实际上它是不断创建新对象的。

但是里面的set方法这些不是安全的
BatiTan 2008-12-04
  • 打赏
  • 举报
回复
以下地址讨论了Date和Calendar的安全性
http://developers.sun.com.cn/Java/jsr-310-new-java-date-time-api.html

至于DateFormat,在源代码中可以找到注释

* <p>
* Date formats are not synchronized.
* It is recommended to create separate format instances for each thread.
* If multiple threads access a format concurrently, it must be synchronized
* externally.
*
* @see Format
* @see NumberFormat
* @see SimpleDateFormat
* @see java.util.Calendar
* @see java.util.GregorianCalendar
* @see java.util.TimeZone
* @version 1.57 11/17/05
* @author Mark Davis, Chen-Lieh Huang, Alan Liu
*/
public abstract class DateFormat extends Format {
可以看到已经提示非线程同步的~
ouyangxiaokang6 2008-12-04
  • 打赏
  • 举报
回复
加同步锁
bxrlucky 2008-12-04
  • 打赏
  • 举报
回复
看到这个问题后,我也想知道是不是,看了看api可还是没找到答案。
有人能告诉我判断是否是线程安全的判断标准吗?
digyso888 2008-12-04
  • 打赏
  • 举报
回复
那怎么办啊
BatiTan 2008-12-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xcluii 的回复:]
不是线程安全的
java.util.Calendar类将日期同时存储为与标准纪元之间的偏移量以及一组日历字段。此双精度表示导致在意外的时间重新计算日历字段,从而产生不可预测的性能特点,java.util.Calendar是可改变的。
[/Quote]恩。..我也查到了
关于获取时间的一些类,如java.util.Date, java.util.Calendar都不是线程安全的
还有就是对时间格式化时,DateFormat和SimpleDateFormat也不是线程安全的~
xcluii 2008-12-04
  • 打赏
  • 举报
回复
不是线程安全的
java.util.Calendar类将日期同时存储为与标准纪元之间的偏移量以及一组日历字段。此双精度表示导致在意外的时间重新计算日历字段,从而产生不可预测的性能特点,java.util.Calendar是可改变的。
内容概要:本文介绍了COSO企业风险管理框架,阐述了企业风险管理的定义、目标、构成要素及其与内部控制的关系。文章指出,企业风险管理是一个由董事会、管理层及其他人员实施的,应用于战略制定并贯穿于企业之中的过程,旨在识别可能影响主体的潜在事项,管理风险以使其在该主体的风险容量之内,并为主体目标的实现提供合理保证。该框架强调了企业风险管理的八大构成要素:内部环境、目标设定、事项识别、风险评估、风险应对、控制活动、信息与沟通、监控。此外,文章还讨论了企业风险管理的局限性,如人为判断失误、成本与效益的权衡、管理层凌驾等。 适合人群:具备一定管理学基础知识,对风险管理有兴趣的学者、企业管理人员、内部审计师及外部审计师。 使用场景及目标:①帮助组织理解并应用企业风险管理框架,以提高组织的风险管理水平;②指导企业如何通过有效的风险管理来实现其战略、经营、报告和合规目标;③为企业提供一套标准化的风险管理语言,促进内外部沟通与合作。 阅读建议:读者应结合实际案例,深入理解每个构成要素的具体应用,同时关注企业风险管理的局限性,以全面把握企业风险管理的本质。此外,建议定期回顾和更新风险管理策略,以适应不断变化的内外部环境。

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧