【发布时间】:2013-03-31 15:34:15
【问题描述】:
我正在阅读 java 代码以确保它是线程安全的。
据我了解,该方法中的任何局部变量都是线程安全的,因为它属于堆栈内存地址。任何类/实例变量都不是线程安全的,因为它属于堆内存,被其他线程共享。
根据经验,我可以在每个涉及类变量的方法上放置一个同步关键字。
是否有任何 Eclipse 插件或规则可以分析/防止多线程问题?
【问题讨论】:
-
是的。 FindBugs 可以执行这样的分析。见:stackoverflow.com/questions/2423266/thread-safety-framework
-
嗯,由线程创建并仅由该线程引用的对象实例(例如,它的引用是本地变量)本质上不与任何其他线程共享。
-
我应该注意的其他一般“规则/要点”是什么?
标签: java multithreading thread-safety