码迷,mamicode.com
首页 >  
搜索关键字:无锁    ( 351个结果
多线程原理分析
转(http://www.cnblogs.com/guguli/p/5198894.html) Java对象实例的锁一共有四种状态:无锁,偏向锁,轻量锁和重量锁。原始脱离框架的并发应用大部分都需要手动完成加锁释放,最直接的就是使用synchronized和volatile关键字对某个对象或者代码块加 ...
分类:编程语言   时间:2016-09-30 18:46:52    阅读次数:208
锁的优化和注意事项
锁优化分为代码层面的优化和jvm层面的优化 1. 代码层面的锁优化的思路和方法 一旦用到锁,就说明这是阻塞式的,所以在并发度上一般来说都会比无锁的情况低一点。 这里提到的锁优化,是指在阻塞式的情况下,如何让性能不要变得太差。但是再怎么优化,一般来说性能都会比无锁的情况差一点。 ReentrantLo ...
分类:其他好文   时间:2016-09-10 11:33:09    阅读次数:264
并发queue
在并发队列上JDK提供了两套实现,一个是以ConcurrentLinkedQueue为代表的高性能队列,一个是以BlockingQueue接口为代表的阻塞队列,无论哪种都继承自Queue。 一、ConcurrentLinkedQueue 是一个适用于高并发场景下的队列,通过无锁的方式,实现了高并发状 ...
分类:其他好文   时间:2016-08-07 06:13:47    阅读次数:186
并发无锁之环形队列生产者消费者问题
1、生产者消费者问题三种关系:生产者--生产者(互斥);消费者-消费者(互斥);生产者--消费者(互斥同步)两个角色:生产者;消费者一种生产场所:缓冲区2、环形队列(缓冲区)数据结构:可以有多种,这里选用数组,逻辑上将a[0]和a[size-1]相连构成环形队列判断空/判断满:..
分类:其他好文   时间:2016-07-20 19:49:13    阅读次数:309
无锁同步-C++11之Atomic和CAS
本文是无锁同步系列文章的第一篇,主要探讨C++11中的Atomic。 我们知道在C++11中引入了mutex和方便优雅的lock_guard。但是有时候我们想要的是性能更高的无锁实现,下面我们来讨论C++11中新增的原子操作类Atomic,我们可以利用它巧妙地实现无锁同步。 ...
分类:编程语言   时间:2016-07-20 06:27:51    阅读次数:283
ConcurrentHashMap
1、核心原理是分段加锁 2、Map->Sergent[](使用的是ReentrantLock的非公平模式)->HashEntry[] 3、get操作使用volatile进行了无锁化设计,需要分析下为什么? 4、put操作是串行的,加锁了。 5、分析下hash算法 ...
分类:其他好文   时间:2016-07-03 17:23:24    阅读次数:109
并发编程学习
1,java内存模型(JMM):主内存与工作内存:主内存存储了所有变量,每条线程有自己的工作内存,工作内存保存在被线程使用的变量和主内存变量的副本,线程操作必须在工作内存中进行,不能直接读取主内存而线程间的值传递需要主内存。 ,内存操作有8条语句均是原子的。 2,线程同步的方法(多个线程对共享数据的竞争是线程不安全的因素) 线程同步总体可分为有锁同步和无锁同步。有锁同步就是加锁,主要包括sy...
分类:其他好文   时间:2016-06-12 02:07:58    阅读次数:354
无锁编程:采用不可变类减少锁的使用
很多的同学很少使用、或者干脆不了解不可变类(Immutable Class)。直观上很容易认为Immutable类效率不高,或者难以理解他的使用场景。其实不可变类是非常有用的,可以提高并行编程的效率和优化设计。让我们跳过一些宽泛的介绍,从一个常见的并行编程场景说起: 假设系统需要实时地处理大量的订单... ...
分类:其他好文   时间:2016-06-11 17:26:22    阅读次数:169
透过 Linux 内核看无锁编程
非阻塞型同步 (Non-blocking Synchronization) 简介 如何正确有效的保护共享数据是编写并行程序必须面临的一个难题,通常的手段就是同步。同步可分为阻塞型同步(Blocking Synchronization)和非阻塞型同步( Non-blocking Synchronization)。 阻塞型同步是指当一个线程到达临界区时,因另外一个线程已经持有访问该共享数据...
分类:系统相关   时间:2016-05-27 12:36:27    阅读次数:266
Golang令牌桶-频率限制
令牌桶算法 令牌桶算法一般用做频率限制、流量限制等,可能具体有单速双色、单速三色、双速三色等方法。 我们的具体需求是对API的调用的频率做限制,因此实现的是单速双色。 测试结果: 现在的实现是需要锁来保证多线程安全,不知道有没有一种无锁的实现,有待研究 ...
分类:其他好文   时间:2016-05-22 13:52:19    阅读次数:266
351条   上一页 1 ... 22 23 24 25 26 ... 36 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!