Advertisement

结合与线程安全

阅读量:

SimpleDateFormat不是线程安全的。

修改说明

复制代码
    Date parse() {
    
      calendar.clear(); //1: 清理calendar
    
      ... //2: 执行一些操作, 设置 calendar 的日期什么的
    
      calendar.getTime(); //3: 获取calendar的时间
    
    }
    
    
    AI写代码java
    

操作1与操作3之间相互影响,并且该方法并非同步机制,从而可能导致系统运行时的安全隐患

当 线程A 执行 s df . p a r s e ( ) ,并在完成 c a l e n d a r . c l e a r ( ) 操作但尚未调用 c a l e n d a r . t i m e ( ) 的情况下 ,如果 同时 线程B再次执行 s df . p a r s e ( ) , 此时 线路B也将运行 s df . c l e a r ( ) 方法 ,从而使得 线路A 的 c a l e n

全部评论 (0)

还没有任何评论哟~