当前位置: 首页 > news >正文

Spring中Bean的线程安全问题

        Spring框架本身没有明确指出Bean的线程安全问题,所以Bean本身也不具备线程安全的特性,具体情况得看scope的情况。

1.原型的(prototype)

        每次创建一个新的对象,每个线程使用的对象都是要新创建的,所以不会存在线程安全的问题。

2.单例的(singleton)

        对于单列的,由于多个线程共用一个对象,所以会存在同一资源竞争的问题。单例的Bean又分为有状态无状态的。

  • 有状态指的是此对象中有公共的变量,方法中会涉及到修改变量的问题,最简单的做法就是将singleton改为prototype,还可以使用ThreadLocal来解决。

  • 无状态的指的是我们只是用此变量来调用其他的方法或属性,不存在修改该变量,这样的话因为对于Java虚拟机栈每个线程都是私有的,所以也就不存在线程安全问题了。

http://www.lryc.cn/news/112842.html

相关文章:

  • Java spring boot 全解Camunda 7,从 0 到 1 构建工作流平台——第二节:Spring boot 简单集成
  • 手持式静电测试仪的运用原理
  • 【css问题】flex布局中,子标签宽度超出父标签宽度,导致布局出现问题
  • 【vue3】前端应用中使用WebSocket与服务器进行通信并管理连接状态。
  • 服务端高并发分布式结构演进之路
  • 微服务基础总结
  • 实现vscode上用gdb调试stm32
  • 第4章 变量、作用域与内存
  • Python爬虫遇到重定向问题解决办法汇总
  • R并行计算
  • STM32 低功耗-待机模式
  • 极海APM32F003F6P6烧写问题解决记录
  • 【大数据】Flink 详解(一):基础篇
  • ChatGPT 作为 Python 编程助手
  • 饿了么输入框限制只能输入数字,并且保留小数
  • kylin-Desktop gsettings 获取或设置系统配置
  • setmap使用
  • Python3 网络爬虫开发实战
  • docker: CMD和ENTRYPOINT的区别
  • DC电源模块对于定制的要求主要有这几点
  • Kubernetes高可用集群二进制部署(六)Kubernetes集群节点添加
  • 网关 GateWay 的使用详解、路由、过滤器、跨域配置
  • vsocde里面远程连接服务器报could not esatablish connection xxxx
  • Hi3798MV200 恩兔N2 NS-1 (二): HiNAS海纳思使用和修改
  • 无涯教程-Perl - foreach 语句函数
  • easyWechat 5.x 复写代码 获取企业微信授权用户敏感信息
  • 医疗器械研发中的可用性工程实践(一)
  • LNMP搭建
  • 软件测试分类总结
  • 模糊PID(三角隶属度函数模糊化CODESYS ST代码)