E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
无锁编程
基于Linux的kfifo移植到STM32(支持os的互斥访问)
STM32(支持os的互斥访问)关于kfifokfifo是内核里面的一个FirstInFirstOut数据结构,它采用环形循环队列的数据结构来实现;它提供一个无边界的字节流服务,最重要的一点是,它使用并行
无锁编程
技术
杰杰T_T
·
2023-06-11 15:03
JUC多并发编程 锁
乐观锁:版本号机制Version常采用CAS算法,Java原子类中的递增操作就是通过CAS自旋实现的认为自己在使用数据时不会有别的线程修改数据或资源,所以不会添加锁,在Java中是通过使用
无锁编程
来实现
逆流丶石头
·
2023-04-21 01:51
JUC
多并发
java
HashMap, HashTable, ConcurrentHashMap 之间的区别
2.ConcurrentHashMap利用了CAS机制(
无锁编程
)3.优化了扩容策略关于线程安全我们知道HashMap是线程不安全的.如果要在多线程环境下使用哈希表,则可以使用:HashTableConcurrentHashMap.HashTable
随风的浪
·
2023-04-11 02:04
Java学习
JavaEE
java
JavaWeb——多线程使用哈希表
目录一、HashMap1、定义二、HashTable1、定义:2、区别:三、ConcurrentHashMap1、定义:2、优化(1)、加锁粒度不同——触发锁冲突的频率不同(2)、充分利用CAS机制——
无锁编程
硌手的小虫子@
·
2023-04-10 09:36
java
web
如何理解CAS
CAS的基本概念CAS全称CompareAndSwap(比较与交换),是一种
无锁编程
算法,能够完全避免锁竞争带来的体统开销问题,也能够避免CPU在多个线程之间频繁切换和调度带来的开销。
double_lifly
·
2023-04-09 10:37
并发编程
java
算法
CAS
ABA问题
CAS核心原理
【JAVA】#详细介绍!!!带你理解什么是CAS+代码讲解+经典面试题
本节介绍:什么是CAS机制CAS机制的作用(
无锁编程
)CAS实现自旋锁有关CAS机制的面试题等知识目录编辑一:CAS1.1什么是CAS1.2CAS是怎么实现原子性的1.3JAVA中基于CAS实现的原子类介绍
等一场春风
·
2023-04-05 18:31
JavaEE初级
java
jvm
面试
开发语言
java-ee
Android面试必问框架原理
Android面试必问框架原理volatile的实现原理synchronized的实现原理join方法实现原理CAS
无锁编程
的原理ReentrantLock的实现原理AQS的大致实现思路AOP理解IOC
慕容野野
·
2023-03-23 20:26
Android
面试
android
java
使用CAS进行
无锁编程
使用CAS进行
无锁编程
的步骤大致如下:1)获得字段的期望值(oldValue)。2)计算出需要替换的新值(newValue)。
代码的搬运工
·
2023-03-12 07:15
Java并发编程之CAS,原子包Atomic
使用CAS进行“
无锁编程
”(LockFree)的步骤大致如下:1.获得字段的期望值(oldValue)。2.计算出需要替换
干天慈雨
·
2023-02-17 02:52
操作系统原理
无锁编程
Double-checkedLocking在获取锁的前后都进行条件判断,尽可能减少加锁访问(常用于单例)存在的问题(延迟初始化):对象初始化分为:内存分配、内存初始化、指针赋值三个阶段。
大富大贵7
·
2022-12-26 13:13
经验分享
Datenlord | Rust
无锁编程
之Crossbeam Epoch算法解析
作者|施继成转自《RustMagazine中文精选》上次的文章介绍了无锁数据结构的内存管理机制EBR,该机制相较于其他的内存管理机制具有更高的执行效率。然而由于理念的复杂性,EBR的实现并不容易,为每一个无锁数据结构从头实现EBR也无必要,因此很自然得大家会考虑将EBR的核心理念epoch抽取出来变成库,让大家能够复用。Crossbeam-epoch是一套成熟的被大家广泛使用的EBR库,本文将从实
·
2022-07-21 11:19
rust算法
C++面试总结
C++11相关1.类型转换用法2.左值、右值3.移动构造4.完美转发5.设计模式6.数据库,调优7.cpu、内存、死锁,问题排查思路、方法8.友元函数,使用场景9.
无锁编程
10.UT测试11.UML设计图
阿土有品
·
2022-05-28 04:40
面试
面试
职场和发展
线程安全:内存的安全
一、简述tip:既要保证线程安全又要尽可能提升性能,怎么取得平衡1️⃣分析业务场景,尽可能的实现
无锁编程
。2️⃣对于并发场景,尽可能的缩小锁的范围。
日常更新
·
2022-02-06 07:44
Java 浅谈 高并发 处理方案详解
目录高性能开发十大必须掌握的核心技术I/O优化:零拷贝技术I/O优化:多路复用技术线程池技术
无锁编程
技术进程间通信技术Scale-out(横向拓展)缓存异步高性能、高可用、高拓展解决方案高性能的实践方案高可用的实践方案高扩展的实践方案总结高性能开发十大必须掌握的核心技术我们循序渐进
·
2021-10-22 10:29
2019-08-16-锁的分类
乐观锁常用
无锁编程
来实现,最常采用的方法就是CAS算法,Java的原子类就是通过CAS算法来实现的。适合读较多的场景乐观锁的
王元
·
2021-06-10 18:08
Java多线程之多种锁和阻塞队列
乐观锁适用于多读的应用类型,乐观锁在Java中是通过使用
无锁编程
来实现,最常采用的是CAS算法,Java原子类中的递增操作就通过CAS自旋实现的。
·
2021-06-09 18:37
自旋锁
无锁编程
,即不使用锁的情况下实现多线程之间的变量同步,也就是在没有线程被阻塞的情况下实现变量的同步,所以也叫非阻塞同步(Non-blockingSynchronization)。
打工的人
·
2021-06-09 15:53
LWN追新
2021/3/11BFP遇见io_uring,当前社区的两大热点2021/3/4一系列关于
无锁编程
的文章开始更新,入口,强烈建议持续关注[1]https://mp.weixin.qq.com/s/QVo9okEVS60FZ7siQs4whw
游魂_2e0d
·
2021-06-08 10:15
Linux-读写锁原理-CAS
无锁编程
原理和缺陷
1.读写锁1.1适用场景 大量读,少量写1.2原理多个程序可以并行的对临界资源进行读操作,程序不会产生二义性结果。读写锁的内部有一个引用计数,来统计当前以读模式打开的读写锁的线程的数量。通过引用计数来判断当前读写锁是否还有线程以读模式打开,判断什么时候读写锁是空闲的,没有被占用。1.3读写锁的三种模式以读模式打开读写锁以写模式打开读写锁不加锁1.4面试题问题:线程A读模式,线程B读模式,并且已经
天津 唐秙
·
2021-05-20 00:18
Linux
《实战Java高并发程序设计》——
无锁编程
文章目录一、悲观锁和乐观锁(CAS)1.1悲观锁1.2乐观锁二、比较并交换(CAS)2.1步骤2.2优点2.3缺点三、AtomicInteger3.1介绍3.2相关方法3.3代码示例3.4AtomicInteger和使用锁的性能比较四、AtomicReference4.1简介4.2示例五、AtomicStampReference5.1简介5.2新增API(相对于AtomicReference)5.
星辰之眼
·
2020-12-29 00:41
并发编程
JavaSE
java
多线程
计算机组成-
无锁编程
追求极致性能
前言现代计算机通常由CPU,以及主板、内存、硬盘等主要硬件结构组成,而决定计算机性能的最核心部件是CPU+内存,CPU负责处理程序指令,内存负责存储指令执行结果。在这个工作机制当中CPU的读写效率其实是远远高于内存的,为提升执行效率减少CPU与内存的交互,一般在CPU上设计了缓存结构,常见的为三级缓存结构:L1Cache,分为数据缓存和指令缓存,逻辑核独占L2Cache,物理核独占,逻辑核共享L3
雕爷
·
2020-12-14 08:55
java
计算机组成-
无锁编程
追求极致性能
前言现代计算机通常由CPU,以及主板、内存、硬盘等主要硬件结构组成,而决定计算机性能的最核心部件是CPU+内存,CPU负责处理程序指令,内存负责存储指令执行结果。在这个工作机制当中CPU的读写效率其实是远远高于内存的,为提升执行效率减少CPU与内存的交互,一般在CPU上设计了缓存结构,常见的为三级缓存结构:L1Cache,分为数据缓存和指令缓存,逻辑核独占L2Cache,物理核独占,逻辑核共享L3
雕爷
·
2020-12-04 18:45
java
十大高性能开发
I/O优化:零拷贝技术I/O优化:多路复用技术线程池技术
无锁编程
技术进程间通信技术RPC&&序列化技术数据库索引技术缓存技术&&布隆过滤器全文搜索技术负载均衡技术主线程进入一个循环,等待连接。
蓝天
·
2020-10-11 16:14
高性能
进程间通信
Disruptor介绍(二)
下面列举一下除了
无锁编程
外的其他性能优化点
zero__007
·
2020-09-15 21:08
#
【Disruptor】
事件,时间与偏序关系
文章目录引言HappenedBefore与偏序逻辑时钟全序物理时钟对全序关系的思考全序关系与
无锁编程
总结从牛顿力学进入爱因斯坦的相对论时空!
一个划水的人
·
2020-09-14 05:33
分布式
多图详解!10大高性能开发核心技术
-I/O优化:零拷贝技术-I/O优化:多路复用技术- 线程池技术-
无锁编程
技术- 进程间通信技术- RPC && 序列化技术- 数据库索引技术- 缓存技术 && 布隆过滤器- 全文
邓彪1022
·
2020-09-13 04:01
Java
java
C++核心准则CP.100:不要使用
无锁编程
方式,除非绝对必要
CP.100:Don'tuselock-freeprogrammingunlessyouabsolutelyhavetoCP.100:不要使用
无锁编程
方式,除非绝对必要Reason(原因)It'serror-proneandrequiresexpertlevelknowledgeoflanguagefeatures
面向对象思考
·
2020-09-11 00:29
C++
多图详解!10大高性能开发核心技术
-I/O优化:零拷贝技术-I/O优化:多路复用技术- 线程池技术-
无锁编程
技术- 进程间通信技术- RPC && 序列化技术- 数据库索引技术- 缓存技术 && 布隆过滤器- 全文搜索技术- 负载均衡技术准备好了吗
编程技术宇宙
·
2020-09-10 21:24
后端技术
操作系统
高性能开发
缓存技术
序列化技术
高性能开发十大必须掌握的核心技术
-I/O优化:零拷贝技术-I/O优化:多路复用技术- 线程池技术-
无锁编程
技术- 进程间通信技术- RPC && 序列化技术- 数据库索引技术- 缓存技术 && 布隆过滤器- 全文搜索技术- 负载均衡技术准备好了吗
·
2020-08-21 22:00
学会这10大高性能开发技术,轻松躲过裁员名单!
-I/O优化:零拷贝技术-I/O优化:多路复用技术- 线程池技术-
无锁编程
技术- 进程间通信技术- RPC && 序列化技术- 数据库索引技术- 缓存技
CSDN云计算
·
2020-08-21 18:51
4.流式计算 - spark direct方式计算手动控制kafka偏移度[spark straming2.1 + kafka0.10.2.0]
业界同样还有优秀的流式计算框架,简单介绍一下1、Storm响应快,纯流式,底层全是
无锁编程
,想做汇聚,想搞个中间状态,需要借助外部存储。
feloxx
·
2020-08-21 03:00
spark
streaming
多线程编程如何减少上下文切换
如何减少上下文切换:减少上下文切换的方法有
无锁编程
、CAS算法、使用最少的线程和使用协程。无锁并发编程。多线程竞争锁时,会引起上下文切换,
IUuiyang
·
2020-08-20 08:08
Java并发编程
多图详解!10大高性能开发核心技术
-I/O优化:零拷贝技术-I/O优化:多路复用技术- 线程池技术-
无锁编程
技术- 进程间通信技术- RPC && 序列化技术- 数据库索引技术- 缓存技术 && 布隆过滤器- 全文搜索技术- 负载均衡技术准备好了吗
轩辕之风
·
2020-08-19 09:00
10大高性能开发宝石,我要消灭一半程序员!
I/O优化:零拷贝技术I/O优化:多路复用技术线程池技术
无锁编程
技术进程间通信技术RPC&&序列化技术数据库索引技术缓存技术&&布隆过滤器全文搜索技术负载均衡技术准备好了吗,坐稳了,发车!
小几斤
·
2020-08-18 23:06
高性能;开发
程序员
CAS原理
CAS概述CAS(Compare-and-Swap),一种
无锁编程
思想或者乐观锁的一种具体实现,即比较并替换,是一种实现并发算法时常用到的技术,Java并发包中的很多类都使用了CAS技术。
csdnadvancer
·
2020-08-17 19:22
JAVA并发编程
锁介绍名词解释&&Lock && synchronized
5、可重入锁VS非可重入锁6、独享锁VS共享锁二、JAVV锁应用1、lockReentrantLock2、synchronized3、信号量一、名词解释1、乐观锁VS悲观锁乐观锁在Java中是通过使用
无锁编程
来实现
采坑先锋
·
2020-08-16 17:02
java
锁
使用CAS、FAA实现
无锁编程
锁会导致性能降低,在特定情况可用硬件同步原语替代锁,保证和锁一样数据安全,同时提供更好性能。硬件同步原语(AtomicHardwarePrimitives)由计算机硬件提供的一组原子操作,较常用的原语主要是CAS和FAA两种。CAS(CompareandSwap)比较交换FAA原语(FetchandAdd)语义是,先获取变量p当前的值value,然后给变量p增加inc,最后返回变量p之前的值val
公众号:JavaEdge
·
2020-08-14 18:49
Java并发编程
海量并发的
无锁编程
(lock free programming)
最近在做在线架构的实现,在线架构和离线架构近线架构最大的区别是服务质量(SLA,ServiceLevelAgreement,SLA99.99代表10K的请求最多一次失败或者超时)和延时。而离线架构在意的是吞吐,SLA的不会那么严苛,比如99.9。离线架构一般要有流控,以控制用户发送请求的速度。以免多于服务端处理能力的请求造成大量的数据在buffer或者队列里堆积,造成大量的超时。在线架构不可能有流
weixin_33739646
·
2020-08-11 23:08
C++
无锁编程
资料,无锁队列等
1.Lamport'sLock-FreeRingBuffer[Lamport,Comm.ofACM,1977]也就常说的单生产者-单消费者的ringbuffer,限制就是只能一个读线程(消费者),一个写进程(生产者)。好像有人改进了一下设计,参加文章“Cache优化的并发无锁队列”http://www.docin.com/p-30332640.html,这论文里面“Fastforwardforef
stormbjm
·
2020-08-11 23:47
数据结构
c/c++
dpdk rte_ring无锁队列 及 内核kfifo
kfifo是内核里面的一个FIFO数据结构,采用环形循环队列的数据结构来实现;它提供一个无边界的字节流服务,最重要的一点是,它使用并行
无锁编程
技术,即当它用于只有一个入队线程和一个出队线程的场情时,两个线程可以并发操作
天涯-晴天
·
2020-08-10 23:28
linux
dpdk
kfif
CAS无锁实现原理以及ABA问题
无锁编程
,即不使用锁的情况下实现多线程之间的变量同步,也就是在没有线程被阻塞的情况下实现变量的同步,所以也叫非阻塞同步(Non-blockingSynchronization)。
weixin_33967071
·
2020-08-10 23:00
无锁编程
与有锁编程的效率总结、无锁队列的实现(c语言)
1.
无锁编程
与有锁编程的效率
无锁编程
,即通过CAS原子操作去控制线程的同步。如果你还不知道什么使CAS原子操作,建议先去查看相关资料,这一方面的资料网络上有很多。
WolfOnTheWay
·
2020-08-10 20:42
Linux
多线程——关于面试中常见的CAS问题你知道了吗?
CASCAS的使用
无锁编程
CAS缺陷:ABA问题)CASCAS的全称是compareandswap(字面意思就是比较交换)他是基于硬件提供的一种基础指令,也是基于这样的指令,就可以实现一些特殊的功能(实现锁
要不一起ci个饭
·
2020-08-09 17:34
多线程
多线程
java
thread
并发编程
编程语言
8、等待/通知模式
性能差,并发基本上不用2、
无锁编程
,Java并发包(J
小阳同学^_^
·
2020-08-02 14:45
Java并发编程
Linux内核队列——kfifo
kfifo是内核里面的一个FirstInFirstOut数据结构,它采用环形循环队列的数据结构来实现;它提供一个无边界的字节流服务,最重要的一点是,它使用并行
无锁编程
技术,即当它用于只有一个入队线程和一个出队线程的场情时
_参天小草_
·
2020-07-30 01:05
数据结构与算法
数据结构
linux
kernel
Linux环形工作队列KFIFO的使用说明
Android7.1kernel4.4的内核代码下:Kfifo是内核里面的一个firstinfirstout数据结构,它采用环形循环队列(ringbuffer)的数据结构来实现;它提供一个无边界的字节流服务,最重要的一点是,它使用并行
无锁编程
技术
只是一些暗恋而已
·
2020-07-29 22:36
Linux开发
无锁编程
以及CAS
无锁编程
/lock-free/非阻塞同步
无锁编程
,即不使用锁的情况下实现多线程之间的变量同步,也就是在没有线程被阻塞的情况下实现变量的同步,所以也叫非阻塞同步(Non-blockingSynchronization
weixin_34004576
·
2020-07-28 18:13
ITDSD - 5.微服务拆分之
无锁编程
来尝试一下最新的
无锁编程
技术吧。这个技术最酷的地方就是不需要数据库事务和分布式锁就能实现分布式系统的开发。众所周知分布式锁和数据库事务的滥用导致了分布式系统耦合的问题。
[email protected]
·
2020-07-27 22:41
分布式
分布式
java
微服务
无锁编程
webservice
无锁编程
CAS
前言CAS(CompareAndSwap,比较并交换),要说CAS是
无锁编程
,多多少少有些“标题党”的感觉。因为CAS根据其设计思想,可以划分为乐观锁。
Sicimike
·
2020-07-27 14:03
Java基础
并发编程
总结1:Java并发编程
:https://www.cnblogs.com/xrq730/p/5186609.html2、如何减少上下文切换方式:https://www.jianshu.com/p/1dd95d9bc8c5a、
无锁编程
风剑无影
·
2020-07-14 10:15
技术体系
java
上一页
1
2
3
4
5
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他