httpservlet, struts1, struts2线程安全,单实例,多实例几个关系
来源:互联网 发布:药学专业网络教育 编辑:程序博客网 时间:2024/06/06 04:09
以下内容转自:http://blog.163.com/xiangfei209@126/blog/static/986956742011924114042741/
总结如下
线程安全条件:1)常量始终是线程安全的,因为只存在读操作。
2)对构造器的访问(new 操作)是线程安全的,因为每次都新建一个实例,不会访问共享的资源。
3)最重要的是:局部变量是线程安全的。因为每执行一个方法,都会在独立的空间创建局部变量,它不是共享的资源。局部变量包括方法的参数变量。
线程不安全条件:
1)单实例多线程并且该实例有类变量
Runnable safe=new ThreadSafe();
Thread thread1=new Thread(safe,"thread1");
Thread thread2=new Thread(safe,"thread2");
线程不安全到安全转换:
1)加synchronized
2) 把单实例多线程转换成多实例多线程
httpservlet:
它是单实例多线程,有可能线程不安全(当含有类变量),线程不安全转换安全方法
参考:http://tech.163.com/05/0523/14/1KEML1JS00091589_2.html
struts1:
它是单实例多线程,线程安全,因为没有类变量,执行通过execute
struts2:
它默认是单实例多线程,线程不安全,因为有类变量,线程不安全转换安全方法
就使用scope=prototype来指定是个原型模式,就变成多实例多线程。
参考文章:
http://japi.iteye.com/blog/432617
http://wsqwsq000.iteye.com/blog/1120671
http://tech.163.com/05/0523/14/1KEML1JS00091589_2.html
0 0
- httpservlet, struts1, struts2线程安全,单实例,多实例几个关系
- httpservlet, struts1, struts2线程安全,单实例,多实例几个关系
- struts1单例线程不安全struts2多例线程安全
- Java ,单实例 多线程 ,web容器,servlet与struts1-2.x系列,线程安全的解决方案
- Servlet单实例以及线程安全小结
- C++ 线程安全的 单实例 模式
- Servlet单实例以及线程安全小结
- C++ 单实例模式 线程安全
- struts1 和struts2 线程安全
- struts1 和struts2 线程安全
- Servlet、Struts1、Struts2线程安全
- struts1和struts2线程安全
- struts1+struts2+spring实例化action的线程安全问题
- Struts1和Struts2 action的线程安全
- servlet采用单实例多线程模式怎样确保线程安全
- servlet单实例多线程时的线程安全
- 线程安全的单实例模式模板化实现
- struts1、struts2、spring mvc的action和HttpServlet、filter是否单例
- D3D9Texture::_loadNormTex
- Why are .goutputstream-xxxxx files created in home folder?
- Redis消息通知
- TPA3112D1 试验
- D3DXCreateTextureFromFileInMemoryEx
- httpservlet, struts1, struts2线程安全,单实例,多实例几个关系
- LEETCODE: Sqrt(x)
- oracle创建数据库
- 安卓事件传递
- 关于使用ajaxSubmit异步提交数据时,IE7,8出错的问题
- 阅读深入理解计算机系统(四)--------------- 系统级I/O
- 如何在网页的标题栏中加入icon图标
- 警告:检测到时钟错误。您的创建可能是不完整的。
- 如何设置电脑自动登录系统?不用输入用户名和密码