在进行java开发的时候多线程问题很多时候似乎是无法避免的,而为了符合多线程的要求,我们往往要使用同步技术,而同步不光会大大的降低系统的性能,更
要命的是可能会出现死锁,而死锁的偶发性导致死锁问题难于追踪调试,当然也有一些解决死锁问题的技术,但是都难于使用,其实很多时候我们可以通过修改设计
来进行避免,设计时考虑的一个最有效而且简单的方法就是编写无状态的类,如果需要状态,那么这些有状态的类可以通过ThreadLocal进行管理,达到
线程安全并且复用的目的。无状态类的比较典型的例子就是spring中通过回调技术实现的数据持久层模板类。
最后需要说明的是,多线程问题不可能完全避免,但是在很多情况下是可以避免的。

(Visited 104 times, 1 visits today)