我有一个设计为由单个线程访问的普通类,我想让它有thread-safe
这么多线程可以同时使用一个实例。有一些类级别的方法和变量,我将它们设为静态并使用locks
它们thread-safe
。默认情况下,仅使用局部变量的方法也是安全的(每个线程都有它的堆栈)。
我properties
对旧班级或更一般地任何non-static
变量的疑问。我可以简单地使用ThreadLocal<T>
并且每个线程都有自己的一组properties
吗?我肯定会在里面使用locks
和其他thread-safety
问题setters
(我认为getters
是安全的)。
是ThreadLocal<T>
性能杀手吗?