Caldendar是线程安全的吗?

BatiTan 2008-12-04 02:58:56
利用java.util.Calendar获取系统时间是不是线程安全的?
请给出判断的具体理由~
...全文
1990 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是可改变的。
内容概要:本文围绕可变桨叶四旋翼无人机的规范控制与点对点运动模拟展开,重点研究优化推力分配策略在翻转动作中的应用与性能比较。通过Matlab代码实现,构建了四旋翼动力学模型,并设计了多种控制算法以实现精确的姿态调整与轨迹跟踪。研究对比了不同推力分配方案在执行高机动性翻转动作时的稳定性、能耗效率与响应速度,旨在提升无人机在复杂飞行任务中的动态性能与控制精度。该仿真研究为无人机飞控系统的设计与优化提供了理论依据和技术支持。; 适合人群:具备一定自动控制理论基础和Matlab编程能力,从事无人机控制、飞行器动力学或机器人系统研究的科研人员及研究生。; 使用场景及目标:① 实现四旋翼无人机在三维空间中的精确点对点运动控制;② 对比分析不同推力分配策略在执行翻转等高难度动作时的控制效果与能耗表现,优化飞行性能;③ 为无人机自主飞行、特技飞行及复杂环境下的机动控制提供算法验证平台。; 阅读建议:此资源以Matlab仿真为核心,建议读者结合相关控制理论知识,深入理解代码实现细节,重点关注动力学建模、控制律设计与推力分配模块。在学习过程中,应动手调试参数,复现文中翻转动作的仿真结果,并尝试拓展至其他复杂飞行任务,以加深对无人机控制机理的理解。

62,622

社区成员

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

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