有哪些可能的方法可以使代码线程安全而不使用synchronized
关键词?
其实方法有很多:
- 如果您没有可变状态,则根本不需要同步。
- 如果可变状态仅限于单个线程,则不需要同步。这可以通过使用局部变量或java.lang.ThreadLocal http://docs.oracle.com/javase/7/docs/api/java/lang/ThreadLocal.html.
- 您还可以使用内置同步器。java.util.concurrent.locks.ReentrantLock http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/ReentrantLock.html与您使用时访问的锁具有相同的功能
synchronized
块和方法,而且更强大。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)