【发布时间】:2011-04-07 07:30:09
【问题描述】:
我正在开发一个 java servlet,它在运行时会在新线程中启动不同的对象方法。这些线程应该访问一个描述特定 servlet 实例的变量,比如 jobId。出于这个原因,我将 jobId 变量声明为静态的。 servlet 构造函数正在为每个 servlet 实例(调用)计算这个值。 如果同时调用 servlet 几次,我在徘徊,静态 jobId 变量在调用之间共享,这意味着某些线程会得到错误的 jobId,或者每次调用都计算一次 - 所以线程启动的特定 servlet 将使用为该特定 servlet 计算的 jobId(这是我希望它工作的方式)。 有任何想法吗? 非常感谢!
【问题讨论】:
-
真的,避免使任何可变的
static(包括单例)。
标签: java multithreading servlets static