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

多线程并发篇---第五篇

系列文章目录


文章目录

  • 系列文章目录
  • 一、什么是线程安全
  • 二、Thread类中的yield方法有什么作用?
  • 三、Java线程池中submit() 和 execute()方法有什么区别?


一、什么是线程安全

线程安全就是说多线程访问同一段代码,不会产生不确定的结果。
又是一个理论的问题,各式各样的答案有很多,我给出一个个人认为解释地最好的:如果你的代码
在多线程下执行和在单线程下执行永远都能获得一样的结果,那么你的代码就是线程安全的。

这个问题有值得一提的地方,就是线程安全也是有几个级别的:
(1)不可变
像String、Integer、Long这些,都是final类型的类,任何一个线程都改变不了它们的值,要改变除
非新创建一个,因此这些不可变对象不需要任何同步手段就可以直接在多线程环境下使用
(2)绝对线程安全
不管运行时环境如何,调用者都不需要额外的同步措施。要做到这一点通常需要付出许多额外的代
价,Java中标注自己是线程安全的类,实际上绝大多数都不是线程安全的,不过绝对线程安全的
类,Java中也有,比方说CopyOnWriteArrayList、Cop

相关文章:

  • 3.3 数据定义
  • 深度学习简述
  • 进阶JAVA篇-StringBuilder类与StringBuffer类的常用API(二)
  • 正则表达式——^的两种用法
  • MacOS Pro笔记本硬盘升级纪实
  • Flink-SQL join 优化 -- MiniBatch + local-global
  • 如何在 Spring Boot 中实现容错机制
  • 【原创】ubuntu18修改IP地址
  • 代码随想录算法训练营第四十四天| 01背包问题 二维、01背包问题 一维、416. 分割等和子集
  • 使用Tensorrt的一般步骤
  • FastAPI学习-27 使用@app.api_route() 设置多种请求方式
  • 华为云云耀云服务器L实例评测|华为云上的CentOS性能监测与调优指南
  • 9-2-Dataset创建-import调用
  • Android 10.0 framework层实现app默认全屏显示
  • VNF1048F高侧开关控制器具有智能保险丝保护,适用于12v, 24v和48v汽车应用
  • 跳表C语言
  • “华为杯”研究生数学建模竞赛2019年-【华为杯】F题:智能飞行器航迹规划模型(下)(附优秀论文及Pyhton代码实现)
  • 几种预训练模型微调方法和peft包的使用介绍
  • 奥威BI系统:做数据可视化大屏,又快又简单
  • SpringCloud小项目——订单积分商城 使用Nacos、Open Feign、Gateway、Sentinel技术栈
  • 要更加冷静地看待“东升西降”的判断
  • 沃旭能源因成本上升放弃英国海上风电项目,或损失近40亿元
  • 上海“世行对标改革”的税务样本:设立全国首个税务审判庭、制定首个税务行政复议简易程序
  • 东亚社会的“苦难诗学”:从《苦尽柑来遇见你》说起
  • 央行:今日起下调再贷款利率0.25个百分点
  • 甘怀真:天下是神域,不是全世界