搜索结果
查询Tags标签: 原子,共有 124条记录-
Java面试题CAS原理
CAS CAS(Compare And Swap,比较并交换)自旋抢锁。 微信交流群:Java技术沟通群⑤(点击加入)原理CAS的原理是拿期望的值和原本的一个值作比较,如果相同则更新成新的值。 CAS 操作用得比较多的是 sun.misc 包的 Unsafe 类,UnSafe 类的 objectFieldOffset() 方法是一个…
2022/8/6 1:23:48 人评论 次浏览 -
2022-8-4第一组孙乃宇
多线程 LockSupport 工具类 线程阻塞的工具类,所有的方法都是静态方法,可以让线程在任意位置阻塞 阻塞之后也有唤醒方法 park:停车。如果我们把Thread看成一辆车,park就是让车停下来 unpark:就是让车启动然后跑起来 这里的park和unpark其实实现了wait和notify的功能。 …
2022/8/4 23:26:31 人评论 次浏览 -
2022-08-04 第十小组 石晓荟
多线程 重点 1.线程 知识点 1.LockSupport工具类* 线程阻塞的工具类。,所有的方法都是静态方法,可以让线程在任意位置阻塞,* 阻塞之后也有唤醒的方法。* park:停车。如果我们把Thread看成一辆车的话,park就是让车停下* unpark:就是让车启动然后跑起来* 这里的p…
2022/8/4 23:23:05 人评论 次浏览 -
Java关键字——volatile
Java关键字——volatilevolatile确保将变量的更新操作通知到其他线程。volatile变量具备两种特性:保证该变量对所有线程可见 volatile禁止重排,即volatile变量不会被缓存在寄存器中或对其他处理器不可见的地方。由于访问volatile变量时不会执行加锁操作,也就不会执行线…
2022/8/2 1:25:37 人评论 次浏览 -
对java原子性,原子操作的理解
原子性:即一个操作或者多个操作,要么全部执行,并且执行的过程不会被任何因素打断,要么就都不执行。(注意单核与多核,CPU时间片耗尽,打断与影响) 在单CPU的情况下,只要一组操作能在一个时间片内被完成,这组操作就是原子性的,如果完不成,可能在这个空档期会有别的…
2022/7/24 1:22:51 人评论 次浏览 -
线程安全
关键词:线程安全、GIL、原子操作(atomic operation)、存储数据类型(List、Queue.Queue、collections.deque) 当多个线程同时进行,且共同修改同一个资源时,我们必须保证修改不会发生冲突,数据修改不会发生错误,也就是说,我们必须保证线程安全。 同时我们知道,python…
2022/7/13 23:20:05 人评论 次浏览 -
Redis 中的原子操作(3)-使用Redis实现分布式锁
Redis 中的分布式锁如何使用分布式锁的使用场景 使用 Redis 来实现分布式锁使用 set key value px milliseconds nx 实现 SETNX+Lua 实现使用 Redlock 实现分布式锁 锁的续租 看看 SETEX 的源码 为什么 Redis 可以用来做分布式锁 分布式锁如何选择 总结 参考Redis 中的分布…
2022/6/16 2:21:28 人评论 次浏览 -
C# 原子操作
Interlocked.Increment 方法 和Interlocked.Decrement 方法作用Interlocked.Increment 方法:让++成为原子操作;Interlocked.Decrement 方法让--成为原子操作。什么叫原子操作呢。就是不会被别人打断,因为C#中的一个语句,编译成机器代码后会变成多个语句。在多线程环境…
2022/6/15 1:20:17 人评论 次浏览 -
多线程基础
为什么需要多线程 众所周知,CPU、内存、I/O 设备的速度是有极大差异的,为了合理利用 CPU 的高性能,平衡这三者的速度差异,计算机体系结构、操作系统、编译程序都做出了贡献,主要体现为:CPU 增加了缓存,以均衡与内存的速度差异;// 导致 可见性问题 操作系统增加了进…
2022/6/6 23:20:06 人评论 次浏览 -
java多线程的原子性和可见性
每个线程会有一个自己的工作内存 所以在一个子线程中更新一个数据,会先将子线程工作内存中的数据更新,然后将子线程中的变量刷新到主内存中,然后将主内存中的数据刷新到其他线程的工作内存中可见性:变量在一个线程中更新,能够及时被另一个线程知道 原子性: 语句已经…
2022/5/31 1:22:33 人评论 次浏览 -
无锁编程-原子操作 概念记录
参考连接:Xbox 360 和 Microsof Windows 的无锁编程注意事项 - Win32 apps | Microsoft Docs 在所有新式处理器上,可以假定自然对齐的本机类型的读取和写入是原子的。 只要内存总线的宽度至少与读取或写入的类型一样宽,CPU 会在单个总线事务中读取和写入这些类型,从而…
2022/5/27 1:22:31 人评论 次浏览 -
STM32H743VIT6 移植正点原子hal库版本程序移植
STM32H743正点原子HAL库移植注意 芯片选型 的pack包 在移植正点原子sys.c时注意 正点官方使用25Mkz板卡外置晶振频率外部晶振为25M的时候,推荐值:plln=160,pllm=5,pllp=2,pllq=2. 在使用自己板卡时,根据晶振调节 在调试串口程序,打印乱码 正点官方使用25Mkz#define HSE_…
2022/5/25 1:21:12 人评论 次浏览 -
核信息获取与处理 Chapter 3
核信息获取与处理 Chapter 3 3.1 名词解释 3.1.1 电离 当入射带电粒子与介质原子较远时,使介质的原子产生电离或激发。 3.1.2 击出 当入射 带电粒子与介质原子距离 ≈ 原子的大小 (\(10^{-8}\ cm,\ 10^{-10}\ m\)) 时,粒子与原子的电子相互碰撞,使电子从原子中发射出来…
2022/4/26 23:13:37 人评论 次浏览 -
一文读懂原子操作、内存屏障、锁(偏向锁、轻量级锁、重量级锁、自旋锁)、Disruptor、Go Context之上半部分
我不想卷,我是被逼的 在做了几年前端之后,发现互联网行情比想象的差,不如赶紧学点后端知识,被裁之后也可接个私活不至于饿死。学习两周Go,如盲人摸象般不知重点,那么重点谁知道呢?肯定是使用Go的后端工程师,那便利用业余时间找了几个老哥对练一下。其中一位问道在…
2022/4/24 7:13:33 人评论 次浏览 -
Java原子类中可以靠版本号比较为什么还需要CAS操作?以及ABA问题到底是什么?
https://www.zhihu.com/question/269109328 问题 最近面试面试官提到java原子类可以通过CAS保证操作的原子性,但缺点是产生了ABA问题,所以可通过版本号比较。那为什么不直接通过版本号比较呢? 这是一个问题,我还有一个疑惑就是ABA问题在什么情况下会造成影响,值一样不…
2022/3/21 22:58:57 人评论 次浏览