精华帖 (2) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-06-16
两者面向的问题领域不同。同步机制是为了同步多个线程对相同资源的并发访问,是为了多个线程之间进行通信的有效方式;而ThreadLocal是隔离多个线程的数据共享,从根本上就不在多个线程之间共享资源(变量),这样当然不需要对多个线程进行同步了。所以,如果你需要进行多个线程之间进行通信,则使用同步机制;如果需要隔离多个线程之间的共享冲突,可以使用ThreadLocal
|
|
返回顶楼 | |
发表时间: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)); } |
|
返回顶楼 | |