首页 > 其他分享 >对多线程原子性的理解

对多线程原子性的理解

时间:2022-09-23 10:24:47浏览次数:48  
标签:count ++ 原子 理解 线程 操作 多线程

  • 多线程原子性的理解:一个操作要么全部执行完毕,不会受到干扰而被中断;要么全都不执行。
  • 对于多线程中操作共享变量的操作,要保证它的原子性。
    • 在一个类中有共享变量count,开启一百个线程对其进行count++操作,每个线程对count加一百次。
    • count变量是属于共享变量,在每个线程操作它的时候,需要先把它读取到自己的工作内存中。
    • 如果说A线程读取了count,这时候cpu分配了时间片给B线程,B线程也读取到了count,并且进行了count++操作,但是还没有写会主内存。
    • 这时候cpu分配时间片给A线程,它进行count++操作,同时写会主内存,又分配给线程B,同时将操作写会主线程。
    • 这就属于线程A的操作被线程B干扰而中断,并没有确保原子性。

标签:count,++,原子,理解,线程,操作,多线程
From: https://www.cnblogs.com/pzistart/p/16721761.html

相关文章

  • Vue面试题20:说一说你对Vuex的理解(总结自B站up主‘前端杨村长’视频,仅供自用学习)
    回答范例1(定义):Vuex是一个专为Vue应用开发的状态管理模式+库。它采用集中式存储,管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化;2(必要性):我......
  • 尝试阅读理解一份linux shell脚本
    以下内容为本人的学习笔记,如需要转载,请声明原文链接微信公众号「englyf」https://www.cnblogs.com/englyf/p/16721350.html从头一二去阅读语法和命令说明,对于脚本小白来......
  • 深度探索Linux操作系统:系统构建和原理解析 pdf
    高清扫描版下载链接:https://pan.baidu.com/s/1_uwibH1Qn6lc3O5D2B_7IA点击这里获取提取码 ......
  • 对于Java中权限修饰符的理解
    老是把Java中权限修饰符给忘记,写一个博客加深印象吧权限分为四个作用域:当前类,同一个包,其他包的子类,其他包的类。首先要知道包的概念,Java中一个包是指一个package下的所......
  • Day8 多线程基础概念的学习
    Day8多线程学习多线程多任务任务就是需要完成的一件事,多任务可能在同一时间解决,或者按步一个一个解决。通过多条道路解决原来一条道路堵塞的问题,多线程。就是同一时......
  • 深入理解CAS思想之原子操作类详解
    前置知识(CAS部分)(1)什么是CAS1.CAS(CompareAndSwap,比较并交换),通常指的是这样一种原子操作:针对一个变量,首先比较它的内存值与某个期望......
  • Java多线程
    多线程详解(Java.Thread)线程简介线程实现(重点)线程状态线程同步(重点)线程通信问题高级主题多任务:现实中太多这样同时做多件事情的例子了,看起来是多个任务都在做,其实本......
  • 我对软件工程的一些理解
    这是我第一次学习软件工程这门课程,下面我将结合网上收集到的资料、上课学到的相关知识和我的一些个人想法来写一下我对软件工程的理解。软件工程是指导计算机软件开发和维......
  • 离散数学中群、环、域的理解
    1、群(group)是两个元素作二元运算得到的一个新元素,需要满足群公理(groupaxioms),即:①封闭性:a∗bisanotherelementintheset②结合律:(a∗b)∗c=a∗(b∗......
  • KubeVela 1.5:灵活框选 CNCF 原子能力打造独特的企业应用发布平台
    简介: KubeVela1.5于近日正式发布。在该版本中为社区带来了更多的开箱即用的应用交付能力,包括新增系统可观测;新增CloudShell终端,将VelaCLI搬到了浏览器;增强的金丝......