我有一个名为Statelessservlet的servlet,它每次都实例化一个新的有效对象。我是否需要为此有状态对象提供同步?这里需要同步吗?
下面的代码:
public class StatelessServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
StatefulObject stObj = new StatefulObject(Integer.parseInt(req.getParameter("id")));
stObj.performSomeStatefulOperation();
...
}
}
class StatefulObject {
private int id;
public StatefulObject(int id) {
this.id = id;
}
//Is synchronized really needed here???
public synchronized void performSomeStatefulOperation() {
id++;
}
}
按布赖恩·格罗茨JCIP每个stafeful对象应该是同步的,所以理想的情况下,我们应该同步这种方法吗?
我想收回我的近距离投票,但不知道如何。 – 2013-05-10 09:53:19
'根据Brian Grotz JCIP,每个有效的对象应该同步错误 - Goetz描述了多种其他技术,例如线程限制,原子变量的使用等。 – vemv 2013-05-10 09:53:52