在servlet中使用静态类

时间:2012-04-18 09:56:25

标签: java servlets

Servlet不是线程安全的。因此,如果我使用类的静态函数,当多个请求同时出现时会发生什么。他们将如何处理静态函数?

3 个答案:

答案 0 :(得分:4)

如果访问共享的可变数据,则必须同步它。如果数据是不可变的或只读的或在堆栈上你应该没问题。

答案 1 :(得分:1)

这取决于你有什么样的静态方法,无论它是否是无状态的。如果它是无状态的,并且没有引用方法范围之外的任何东西,那么它将是线程安全的。

答案 2 :(得分:0)

如果在servlet中使用静态方法,则需要使它们成为线程安全的 当变量的状态可能改变时,仅使用局部变量 如果他们不改变或使用同步访问方法

,则使用静态变量

你可以通过实现SingleThreadModle接口或'synchronize'构造来保证函数线程安全。