博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
项目线程安全
阅读量:5891 次
发布时间:2019-06-19

本文共 629 字,大约阅读时间需要 2 分钟。

项目中没考虑线程安全

@Service@Transactionalpublic class MedicalPopularMaterialService implements MedicalPopularMaterialServiceInterface {       //成员属性       public Set
labels = new LinkedHashSet<>(); private void makeMaterial(MedicalPopularMaterialBaseCommand command, MedicalPopularMaterial material) { //没有考虑线程安全 labels.addAll(command.getLabels()); settingServiceInterface.setGlobalSetting(A,B,labels, command.getCreatedUserId()); }}复制代码

MedicalPopularMaterialService是单例的(被Spring创建的类是单例),同一个对象,,当两个线程同时访问,

解决线程安全的方法:

分布式锁

Redis锁机制

sychornized 单个进程之间的多个线程 但对于分布式服务,多个进程之间容易出现问题。

转载地址:http://ulbsx.baihongyu.com/

你可能感兴趣的文章
前后端传图片用base64好吗_前后端分离 前台传base64的图片 tp5.1.1进行处理
查看>>
java对象的排序_Java对象排序两种方法
查看>>
java jni 原理_使用JNI技术实现Java和C++的交互
查看>>
java 重写system.out_重写System.out.println(String x)方法
查看>>
Ubuntu 12.04安装
查看>>
mysql client命令行选项
查看>>
vc遍历网页表单并自动填写提交 .
查看>>
配置ORACLE 11g绿色版客户端和PLSQL远程连接环境
查看>>
ASP.NET中 DataList(数据列表)的使用前台绑定
查看>>
Linux学习之CentOS(八)--Linux系统的分区概念
查看>>
主域控制器的安装与配置步骤与方法
查看>>
JavaScript---事件
查看>>
Android NDK入门实例 计算斐波那契数列一生成jni头文件
查看>>
c/c++性能优化--I/O优化(上)
查看>>
将HTML特殊转义为实体字符的两种实现方式
查看>>
jquery 保留两个小数的方法
查看>>
网站架构设计的误区
查看>>
Standard C++ Programming: Virtual Functions and Inlining
查看>>
iis 故障导致网站无法访问
查看>>
作业抄袭简单检测
查看>>