【发布时间】:2012-03-15 18:07:21
【问题描述】:
我对 GWT 还很陌生,以前从未使用过 Java Servlet。我知道如何制作 RPC,但我想知道在我的 RPC 的 ServiceImpl/RemoteServiceServlet 类中声明成员变量是否存在任何并发问题。 IE。来自多个“同时”的 RPC 覆盖同一个变量,类似于未将变量声明为 volatile 时线程发生的情况。
我还需要在我的服务器端代码中使用一个额外的线程,所以我想知道将某些 servlet 的成员声明为静态以便其他线程可以访问是否存在任何问题(通常的线程安全问题之外)没有对 servlet 实例的引用的变量。是否可以同时运行同一个 RemoteServiceServlet 类的多个实例?
例如
public class MyServiceImpl extends RemoteServiceServlet implements MyService {
// Which of these variable declarations are a bad idea in a servlet?
private String someVariable;
private static String anotherVariable;
volatile private static String multiThreadedVariable;
public void init() { ... }
...
}
谢谢。
【问题讨论】: