我有一個名爲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