rma*_*ski 4 java concurrency servlets
是否有必要将所有servlet实例变量标记为"volatile"(或从同步部分中访问它们)?包括那些在"init"方法中定义的,之后没有修改过的?
我知道"init"方法是由一个线程调用的,并且该变量将被另一个线程访问,因此它似乎是必要的.或者可能不是?是否有任何机制可以保证在"init"方法完成后,所有其他线程都可以看到实例变量的当前值?
servlet容器将确保servlet初始化与其调用之间存在内存障碍.你不应该做任何事情.
注意:我没有在规范中找到这样的要求,但我认为容器不能做到这一点.顺便说一句,在GenericServlet中,ServletConfig config由init方法初始化的实例变量未标记为volatile.
| 归档时间: |
|
| 查看次数: |
699 次 |
| 最近记录: |