论坛首页 Java企业应用论坛

ThreadLocal and synchronized 补充

浏览 16480 次
精华帖 (2) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-06-16  
两者面向的问题领域不同。同步机制是为了同步多个线程对相同资源的并发访问,是为了多个线程之间进行通信的有效方式;而ThreadLocal是隔离多个线程的数据共享,从根本上就不在多个线程之间共享资源(变量),这样当然不需要对多个线程进行同步了。所以,如果你需要进行多个线程之间进行通信,则使用同步机制;如果需要隔离多个线程之间的共享冲突,可以使用ThreadLocal
0 请登录后投票
   发表时间:2008-04-14  
LZ写的在getCount和setCount中用synchronized也不能达到同步效果的,要改为
synchronized (staff) {
        int i = staff.getCount().intValue();  
        System.out.println("Thread name:" + Thread.currentThread().getName() + " staff count:" + i);  
 
        staff.setCount(new Integer(i + 1));  

}
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics