社区
Java EE
帖子详情
关于SpringMVC线程安全的问题
zjxcsdn3069
2017-08-21 07:49:31
SpringMVC是基于方法的,所以一般不在类中定义变量,应该就是线程安全的
但现在假如我写的一个方法:先从数据库取值,加1后再存到数据库
现在我用两台机器操作,其中一台机器从数据库取到值后打个断点卡住他,等另一台机器+1后再放他运行
这样操作的结果是否会让数据库的值只加了1
打断点只是为了模拟情况,如果真实环境中,恰巧两个人同时操作,遇到上述的情况,那是不是就存在线程不安全的情况,这样的情况下是不是应该做些类似加锁的操作。
...全文
351
6
打赏
收藏
关于SpringMVC线程安全的问题
SpringMVC是基于方法的,所以一般不在类中定义变量,应该就是线程安全的 但现在假如我写的一个方法:先从数据库取值,加1后再存到数据库 现在我用两台机器操作,其中一台机器从数据库取到值后打个断点卡住他,等另一台机器+1后再放他运行 这样操作的结果是否会让数据库的值只加了1 打断点只是为了模拟情况,如果真实环境中,恰巧两个人同时操作,遇到上述的情况,那是不是就存在线程不安全的情况,这样的情况下是不是应该做些类似加锁的操作。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zjxcsdn3069
2017-08-23
打赏
举报
回复
引用 1 楼 tianfang 的回复:
spring和数据库事务处理早考虑到了,spring发起/结束事务,最终由数据库的事务控制数据一致性
查了一下我说的情况属于脏读,可以设置事务的隔离级别,但这样貌似会很降低功效吧,能用线程锁去针对性的实现吗
tianfang
2017-08-23
打赏
举报
回复
这个不是线程安全的问题 本来就不在一个线程中
zjxcsdn3069
2017-08-23
打赏
举报
回复
引用 3 楼 q54244125 的回复:
兄台,哪里有问题麻烦指出
李德胜1995
2017-08-23
打赏
举报
回复
tianfang
2017-08-22
打赏
举报
回复
spring和数据库事务处理早考虑到了,spring发起/结束事务,最终由数据库的事务控制数据一致性
SpringMVC
线程安全
问题
spring生成对象默认是单例(也就是一个对象)的。通过scope属性可以更改为多例。 <bean id="singleton" class="java.util.Date" scope="singleton"></bean> <!--单例--> <bean id="prototype" class="java.
struts2与
springmvc
线程安全
问题
struts2的入口是类 struts 是单例非安全的 struts2 是多例安全的,但是当struts2整合spring由其统一管理bean创建的时候,由于spring默认单例,所以struts2也 变成单例了。 一般struts2接收前端的信息都set到成员变量中(因此只能通过多例或加锁来优化安全
问题
) 所以高并发情况下,这些成员变量是线程非安全的。 一般不会发生这样的
问题
是因为 这...
springmvc
线程安全
问题
springmvc
线程安全
问题
对于使用过
SpringMVC
和Struts2的人来说,大家都知道
SpringMVC
是基于方法的拦截,而Struts2是基于类的拦截。struct2为每一个请求都实例化一个action所以不存在
线程安全
问题
,
springmvc
默认单例请求使用一个Controller,假如这个Controller中定义了静态变量,就会被多个线程共享。所以
springmvc
的cont...
SpringMvc
之
线程安全
问题
我们知道
SpringMVC
Controller默认情况下是Singleton(单例)的,当request过来,不用每次创建Controller,会用原来的实例去处理。那么当多个线程调用它的时候,会不会发生
线程安全
问题
呢? 多个线程访问同一个对象时,如果不用考虑这些线程在运行时的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他操作,调用这个对象的行为都可以获得正确的结果,那么这个对象就是
线程安全
的。或者说,一个类或者程序所提供的接口对于线程来说是原子操作或者多个线程之间的切换不会导致该接口
SpringMvc
---
SpringMvc
中的
线程安全
问题
SpringMvc
---
SpringMvc
中的
线程安全
问题
1、3种获取servlet-api的
线程安全
问题
2、
SpringMvc
是单例的还是多例的? 1、3种获取servlet-api的
线程安全
问题
线程不安全 = 并发
问题
同一时间,多个线程,同时对数据/变量/资源进行读写操作,就会产生并发
问题
(脏读、幻影读、重复读)。 1、通过参数绑定的方式: 是
线程安全
的,因为参数绑定在方法上,所以每次请求方法都会在内存中开辟自己独立的空间。 2、通过Autowired自动注入的方式: 是
线程安全
的,比较特殊,
Java EE
67,549
社区成员
225,860
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章