如何确保实用程序静态方法的线程安全性?
- 论坛
- 如何确保实用程序静态方法的线程安全性?
7 浏览
如何确保实用程序静态方法的线程安全性?
有没有一种通用的方法或规则,可以确保任何应用程序中各种实用类中的静态方法的线程安全性?在这里,我特别想指出 Web 应用程序的线程安全性。
众所周知,使用不可变对象作为参数的静态方法是线程安全的,而可变对象则不是。
如果我有一个用于操作 java.util.Date
的实用方法,并且该方法接受一个 java.util.Date
的实例作为参数,那么这个方法就不是线程安全的。那么如何在不改变参数传递方式的情况下使其线程安全?
此外,javax.faces.context.FacesContext
类是否可变?将该类的实例传递给这样的静态实用方法是否线程安全?
可以传递或不可以传递的类的实例列表可能很长,那么在编写此类实用类的代码时,我们应该牢记哪些要点?