Java多线程 四种需要考虑线程安全的情况
发布日期:2021-06-30 13:12:09
浏览次数:2
分类:技术文章
本文共 529 字,大约阅读时间需要 1 分钟。
文章目录
四种需要考虑线程安全的情况
遇到以下四种需要考虑线程安全的情况,需要注意:
- 访问共享的变量或资源, 会有并发风险, 比如对象的属性, 静态变量, 共享缓存, 数据库等 例如此文提到的例子, 用共享变量进行++操作.
- 所有依赖时序的操作, 即使每一步操作都是线程安全的, 还是存在并发的问题. read-modify-write: 先读取, 再修改. check-then-act 先检查, 再执行. 实际上本质是一样的, 一个线程先获取数据, 再进行下一步的操作. 主要可能的问题是, 数据读取后, 还有可能被其他线程修改. 所以在这种依赖时序的情况下, 可以用synchronized锁等操作.
- 不同的数据之间存在绑定关系的时候. 例如IP与端口号. 只要修改了IP就要修改端口号, 否则IP也是无效的. 因此遇到这种操作的时候, 要警醒原子的合并操作. 要么全部修改成功, 要么全部修改失败.
- 使用其他类的时候, 如果该类的注释声明了不是线程安全的, 那么就不应该在多线程的场景中使用, 而应该考虑其对应的线程安全的类,或者对其做一定处理保证线程安全, 例如HashMap就不是线程安全的, 而ConcurrentHashMap则是线程安全的.
转载地址:https://javaweixin6.blog.csdn.net/article/details/108396743 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月16日 22时21分53秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
史上最烂项目:苦撑12年,600多万行代码...
2019-05-01
把 14 亿中国人都拉到一个微信群,在技术上能实现吗?
2019-05-01
斯坦福后空翻机器人设计、代码全开源,成本降至3000美元,人人皆可DIY
2019-05-01
618|Python购书攻略
2019-05-01
请停止学习框架
2019-05-01
考研比惨五大专业排行榜,第一名没人不服!
2019-05-01
没钱没公司,怎么做一款付费产品
2019-05-01
Python 3.8 新特性来袭
2019-05-01
神器:公众号如何从第一篇文章开始看
2019-05-01
查询亿级数据毫秒级返回!Elasticsearch 是如何做到的?
2019-05-01
FastAPI 构建 API 服务,究竟有多快?
2019-05-01
为什么Quora选择用Python语言?
2021-07-04
一劳永逸学编程的方法
2019-05-01
代码整洁之道-编写 Pythonic 代码
2019-05-01
100行python代码,轻松完成贪吃蛇小游戏
2019-05-01
如何科学的刷 Leetcode
2019-05-01
树莓派程序开机自启动
2019-05-01
WiFi强力信号连接方案
2019-05-01
连锁门店无线通信方案
2019-05-01