码迷,mamicode.com
首页 >  
搜索关键字:无锁    ( 351个结果
非阻塞同步算法与CAS(Compare and Swap)无锁算法
锁(lock)的代价 锁是用来做并发最简单的方式,当然其代价也是最高的。内核态的锁的时候需要操作系统进行一次上下文切换,加锁、释放锁会导致比较多的上下文切换和调度延时,等待锁的线程会被挂起直至锁释放。在上下文切换的时候,cpu之前缓存的指令和数据都将失效,对性能有很大的损失。操作系统对多线程的锁进行 ...
分类:编程语言   时间:2018-01-14 14:28:10    阅读次数:279
java 单例模式5种写法
学习整理 饱汉模式(懒汉模式) 优点:懒加载启动快,资源占用小,使用时才实例化,无锁。 缺点:非线程安全。 饱汉模式(懒汉模式)--线程安全 优点:同上,但加锁了。 缺点:synchronized 为独占排他锁,并发性能差。即使在创建成功以后,获取实例仍然是串行化操作。 饱汉模式(懒汉模式)--双重 ...
分类:编程语言   时间:2018-01-09 16:43:17    阅读次数:188
javas的四种状态 无锁状态 偏向锁状态 轻量级锁状态 重量级锁状态
一:java多线程互斥,和java多线程引入偏向锁和轻量级锁的原因? >synchronized的重量级别的锁,就是在线程运行到该代码块的时候,让程序的运行级别从用户态切换到内核态,把所有的线程挂起,让cpu通过操作系统指令,去调度多线程之间,谁执行代码块,谁进入阻塞状态。这样会频繁出现程序运行状态 ...
分类:编程语言   时间:2018-01-06 23:16:31    阅读次数:270
无锁机制下的原子性操作
通常使用volatile关键字修饰字段可以实现多个线程的可见性和读写的原子性,但是对于字段的复杂性操作就需要使用synchronize关键字来进行,例如: 这里可以看到,对于字段的简单设置和获取,volatile可以应付,但是我们想每次获取后自增加1,这样的操作就只能交给synchronize来做, ...
分类:其他好文   时间:2018-01-06 14:12:21    阅读次数:144
基于redis的乐观锁
转自:https://www.toutiao.com/i6503412526095532558/?tt_from=weixin&utm_campaign=client_share&timestamp=1514535595&app=news_article&utm_source=weixin&iid= ...
分类:其他好文   时间:2017-12-29 16:57:26    阅读次数:162
Disruptor并发框架
框架简介 Martin Fowler在自己网站上写了一篇LMAX架构的文章,在文章中他介绍了LMAX是一种新型零售金融交易平台,它能够以很低的延迟产生大量交易。这个系统是建立在JVM平台上,其核心是一个业务逻辑处理器,它能够在一个线程里每秒处理6百万订单。业务逻辑处理器完全是运行在 中,使`用 方式 ...
分类:其他好文   时间:2017-12-25 22:16:02    阅读次数:164
如何实现超高并发的无锁缓存?
一、需求缘起 【业务场景】 有一类写多读少的业务场景:大部分请求是对数据进行修改,少部分请求对数据进行读取。 例子1:滴滴打车,某个司机地理位置信息的变化(可能每几秒钟有一个修改),以及司机地理位置的读取(用户打车的时候查看某个司机的地理位置)。 void SetDriverInfo(long dr ...
分类:其他好文   时间:2017-12-25 17:00:19    阅读次数:150
多线程编程之无锁队列
关于无锁队列的概念与实现,可以参考博文《无锁队列的实现》,主要涉及到的知识点包括CAS原子操作、无锁队列的链表实现、无锁队列的数组实现以及ABA问题。 下面借鉴了《多线程的那点儿事(之无锁队列)》的代码,说明两个线程(一个添加一个读取数据)之间的无锁队列,可以不借助线程互斥方法就能够达到并行效果。代 ...
分类:编程语言   时间:2017-12-08 21:03:28    阅读次数:227
ThreadPoolExecutor的分析(二)
说明:本作者是文章的原创作者,转载请注明出处:本文地址:http://www.cnblogs.com/qm-article/p/7821602.html 内部类Worker的分析 从源码可知。该内部类继承了AQS,且实现了runnable接口,说明,此类拥有锁的功能,且能充当线程使用,在前面的博文< ...
分类:其他好文   时间:2017-11-19 14:18:44    阅读次数:174
disruptor框架
简介: Martin Fowler在自己网站上写了一篇LMAX架构的文章,在文章中他介绍了LMAX是一种新型零售金融交易平台,它能够以很低的延迟产生大量交易。这个系统是建立在JVM平台上,其核心是一个业务逻辑处理器,它能够在一个线程里每秒处理6百万订单。业务逻辑处理器完全是运行在内存中,使用事件源驱 ...
分类:其他好文   时间:2017-11-18 12:48:30    阅读次数:170
351条   上一页 1 ... 16 17 18 19 20 ... 36 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!