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

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

系列文章目录


文章目录

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


一、什么是线程安全

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

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

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

相关文章:

  • java实现权重随机获取值或对象
  • 期权账户怎么开通的?佣金最低多少?
  • MySQL(存储过程,store procedure)——存储过程的前世今生 MySQL存储过程体验 MybatisPlus中使用存储过程
  • 如何建立线上线下相结合的数字化新零售体系?
  • python:xlwings 操作 Excel 加入图片
  • 关于hive的时间戳
  • win10 wsl安装步骤
  • 深入理解Spring Boot AOP:切面编程的优势与应用
  • 使用大模型提效程序员工作
  • 如何应对量化交易,个人股票账户如何实现量化程序化自动交易
  • milvus测试
  • antd 表格getCheckboxProps禁用
  • 京东商品列表数据接口,关键词搜索京东商品数据接口
  • Vue使用BMapGL,及marker简单使用
  • WuThreat身份安全云-TVD每日漏洞情报-2023-10-10
  • BSCI认证是谁来验厂?
  • Java中如何在两个线程间共享数据
  • 4、在 CentOS 8 系统上安装 pgAdmin 4
  • 【数字人】3、LIA | 使用隐式空间来实现视频驱动单张图数字人生成(ICLR 2022)
  • 深度学习基础知识 最近邻插值法、双线性插值法、双三次插值算法
  • 计算机竞赛 : 题目:基于深度学习的水果识别 设计 开题 技术
  • 【2023美团后端-8】删除字符串的方案,限制不能连续删
  • 蓝桥等考Python组别十七级008
  • docker安装sql-server数据库,使用navicat实现备份数据库导入
  • 深度学习batch、batch_size、epoch、iteration以及小样本中episode、support set、query set关系
  • Air001 TIM1高级定时器单脉冲输出模式使用
  • 矿机生意难做,比特大陆停发工资
  • 计算机竞赛python区块链实现 - proof of work工作量证明共识算法
  • pyqt 划线标注工具,可用于车道线标注
  • 蓝桥等考Python组别十七级004