【发布时间】:2010-03-30 10:48:37
【问题描述】:
我想在 servlet 初始化期间读取一些参数(在 init() 方法中),并将它们存储在 servlet 上下文属性中(使用 getServletContext().setAttribute())。我想稍后再阅读这些参数 - 在某些请求处理期间(使用 getServletContext().getAttribute())。因此,多个线程可以同时执行此操作。我的问题是这样的尝试是否安全?我能否确定对 getAttribute() 的多线程调用不会弄乱 servlet 上下文的任何内部状态?
请注意,除了初始化之外,我不会在任何地方调用 setAttribute()。因此,只有对 getAttribute() 的调用才会从多个线程中完成。但是根据内部实现,这也可能很危险。因此,任何有关 Tomcat 实现的信息都将不胜感激。
【问题讨论】:
标签: java multithreading tomcat parameters servlets