Jersey(servlet)的线程安全
来源:互联网 发布:笨办法学python pdf 编辑:程序博客网 时间:2024/05/21 10:14
#Jersey的控制器是单例的,因此需要保证多个请求到来时出现多线程并发访问Controller.
处理并发的方法:
- 1.类的访问域的所有成员都采用不可变的(只读)。
- 2.对可变的成员加锁(保证被访问的成员线程安全)。
- 3.采用无状态。
对于控制层我们采用第二种方案。(第一种,我们很难保证服务层的成员只读,因为他是业务逻辑层第三种,也可行,只是说我们最终还是得解决线程安全问题,而且我不打算在控制器去采用无状态策略,因为无状态,会使得我们在控制器的方法里面new很多服务类,导致资源浪费。)
第二种方案使得控制层的线程共用服务类,并且服务类是线程安全的。
那么,服务层的类怎么保证线程安全呢?
采用第三种方案,让服务类无状态,即,让服务类没有参数。
而DAO在需要用到的时候才在方法里面去NEW(或者说dao是多例的,从而避免的考虑线程安全问题)
处理并发的方法:
- 1.类的访问域的所有成员都采用不可变的(只读)。
- 2.对可变的成员加锁(保证被访问的成员线程安全)。
- 3.采用无状态。
对于控制层我们采用第二种方案。(第一种,我们很难保证服务层的成员只读,因为他是业务逻辑层第三种,也可行,只是说我们最终还是得解决线程安全问题,而且我不打算在控制器去采用无状态策略,因为无状态,会使得我们在控制器的方法里面new很多服务类,导致资源浪费。)
第二种方案使得控制层的线程共用服务类,并且服务类是线程安全的。
那么,服务层的类怎么保证线程安全呢?
采用第三种方案,让服务类无状态,即,让服务类没有参数。
而DAO在需要用到的时候才在方法里面去NEW(或者说dao是多例的,从而避免的考虑线程安全问题)
0 0
- Jersey(servlet)的线程安全
- servlet的线程安全
- Servlet的线程安全
- Servlet的线程安全
- 线程安全的servlet
- Servlet的线程安全
- Servlet的线程安全
- Servlet的线程安全
- Servlet的线程安全
- Servlet的线程安全
- 开发线程安全的Servlet
- Servlet线程安全的解决方法
- Servlet线程安全的解决方法
- servlet线程安全的解决办法
- Servlet线程安全的解决方法
- Servlet线程安全的解决方法
- 设计线程安全的Servlet
- Servlet线程安全的解决方法
- java 获取真实ip
- C++11实现简单生产者消费者模式
- 微信小程序开发总结
- IOS播放GIF图片
- Xcode使用断点调试
- Jersey(servlet)的线程安全
- 根据data恢复数据库数据
- shell连接远程mongodb数据库
- Bzoj 3875 骑士游戏
- java中equals与== 有何区别?
- 三、大话设计模式 之 装饰模式
- 加速Android Studio/Gradle构建
- LeetCode笔记:38. Count and Say
- Flutter基础—常用控件之容器