servlet的线程安全性问题

来源:互联网 发布:vb程序设计环境介绍 编辑:程序博客网 时间:2024/04/30 08:18

servlet本身运行不存在所谓线程是否安全性的问题,取决于我们如何使用servlet.

以tomcat web container举例 ,servlet加载后以单实例 方式存在于容器之中,由于容器肯定是以多线程方式运行,这个时候如果servlet使用到静态变量或者实例 变量,那么肯定是线程不安全的。为了在高并发下保证线程安全性,首要的前提就是无状态,在实际开发过程中,可以考虑使用局部变量或ThreadLocal机制。Spring框架解决线程安全性问题的核心机制就是ThreadLocal. ThreadLocal如何使用这个网上资料很多,使用也比较简单,就不展开了。下面附上Oracle 官方的API说明。

ThreadLocal的API

http://docs.oracle.com/javase/8/docs/api/java/lang/ThreadLocal.html


0 0
原创粉丝点击