线程为什么不安全及简单解决
发布日期:2024-04-25 21:48:11
浏览次数:1
分类:技术文章
本文共 324 字,大约阅读时间需要 1 分钟。
线程为什么不安全:我们在一定的硬件条件下,想去追求更高的效率,甚至极致的效率到达了一定的临界点,就可能会造成线程的不安全。
1,数据不可变
一切不可变的对象,一定是线程安全的(例如我们只是查询看一下,或者公用这个对象但是我们不改变这个对象)
2,互斥同步
只能一个线程使用,不能几个线程同时使用,搞成了一种抽象的串行化的执行。加锁
3,非阻塞同步
互斥同步带来的问题就是我们的线程如果有一个在用其他的就必须等待,然后没线程用了我们又要唤醒需要用数据的线程,真有用的时候我们其他的线程可以自旋
4,无同步方案
如果我们的线程都要去操作一个共同的数据,可以使用ThreadLocal等,我们创造一些副本让我们的线程去操作副本而不是直接去操作我们数据本身
转载地址:https://blog.csdn.net/liWei_Csdn0000/article/details/128580090 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月06日 18时38分20秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
基础架构系列篇-系统centos7中docker安装rabbitmq
2019-04-30
基础架构系列篇-NGINX部署VUE
2019-04-30
个人电商项目,基于uni-app+ springcloud +VUE技术
2019-04-30
基础架构系列篇-系统centos7安装kafka
2019-04-30
基础架构系列篇-系统centos7中docker安装分布式文件存储服务minio
2019-04-30
知识点记录-java判断系统是linux或windows
2019-04-30
知识点记录-springboot静态资源映射路径
2019-04-30
微服务springcloud2系列篇-配置与注册nacos组件
2019-04-30
用户权限设计-基于RBAC模型
2019-04-30
微服务springcloud2系列篇-网关GATEWAY跨域问题
2019-04-30
软件质量的8个特性
2019-04-30
应届渣渣前端的艰难求职之路
2019-04-30
2021年不可错过的17种JS优化技巧(一)
2019-04-30
月薪15~20k的前端面试问什么?
2019-04-30
在 Vue 中用 Axios 异步请求API
2019-04-30
mysql——介绍及安装与基本用法
2019-04-30
MYSQL——事务操作+视图+存储引擎
2019-04-30
MySQL进阶查询(SELECT 语句高级用法)
2019-04-30
Mysql 之主从复制
2019-04-30
squid代理介绍----ACL控制应用+sarg日志分析+反向代理
2019-04-30