我目前必须使特定的 Java servlet 实现线程安全。代码不是我写的,我也没有参与它的设计或任何事情。我“只是”必须使它成为线程安全的:)
我不是线程安全的初学者,但也不是专业人士。Servlet 对我来说(或多或少)是全新的。我已经完成了一些教程并了解了有关 servlet 的基础知识,但仅此而已。我能找到的所有关于使 servlet 线程安全的教程都相当肤浅,而且我还有一些未解决的问题,我似乎无法找到答案。一些帮助将不胜感激。
1.)据我了解,HttpServletRequests 和 HttpServletResponses 不在不同的线程之间共享,所以我不需要同步它们的读写访问(这是正确的吗?)。但是 HttpServletRequestWrappers 等呢?
2.) 我必须同步对 getServletContext() 返回的 ServletContext 对象的访问,尤其是在我使用 setAttribute() 时,对吧?
3.) HttpServletRequests 有一个 getCookies() 方法。这些 Cookie 是否可能在不同的请求之间共享,或者每个请求都有自己的 Cookie 对象(即使它们代表相同的“真实”cookie)?换种方式问:我是否必须同步对返回的 cookie 对象的访问?
感谢您花时间阅读我的问题。我期待着你的回答:)