码迷,mamicode.com
首页 >  
搜索关键字:无锁    ( 351个结果
无锁多线程编程初步(基础部分)
1.volatile 关于volatile可讲述的部分有很多,不过精简的说这个关键字的功能有两点。 a.volatile修饰的变量对如果有修改,会对任意线程可见。 b.volatile修饰的变量: 如果是volatile写,那么它可以保证任何在它之前需要完成的读写都会完成,但是它之后的读写不能保证。 ...
分类:编程语言   时间:2017-07-17 23:53:20    阅读次数:227
聊聊高并发(三十二)实现一个基于链表的无锁Set集合
Set表示一种没有反复元素的集合类,在JDK里面有HashSet的实现,底层是基于HashMap来实现的。这里实现一个简化版本号的Set,有下面约束: 1. 基于链表实现。链表节点依照对象的hashCode()顺序由小到大从Head到Tail排列。 2. 如果对象的hashCode()是唯一的。这个 ...
分类:其他好文   时间:2017-07-16 13:39:21    阅读次数:196
Ticket Lock, CLH Lock, MCS Lock
如果不用OS提供的mutex,我们该如何实现互斥锁? 1. naive lock 最简单的想法是,搞一个volatile类型的共享变量flag,值可以是0(无锁)或者1(有锁),竞争线程监听flag,一旦发现flag为0,那么尝试cas更新flag为1,更新成功则说明占有了这个锁,更新失败说明临界区 ...
分类:其他好文   时间:2017-07-08 13:27:37    阅读次数:303
python基础:协程详解
Python的yield不但可以返回一个值,它还可以接收调用者发出的参数。 来看例子: 传统的生产者-消费者模型是一个线程写消息,一个线程取消息,通过锁机制控制队列和等待,但一不小心就可能死锁。 如果改用协程,生产者生产消息后,直接通过yield跳转到消费者开始执行,待消费者执行完毕后,切换回生产者 ...
分类:编程语言   时间:2017-07-06 20:33:41    阅读次数:158
非阻塞同步算法与CAS(Compare and Swap)无锁算法
CAS无锁算法 要实现无锁(lock-free)的非阻塞算法有多种实现方法,其中CAS(比较与交换,Compare and swap)是一种有名的无锁算法。CAS, CPU指令,在大多数处理器架构,包括IA32、Space中采用的都是CAS指令,CAS的语义是“我认为V的值应该为A,如果是,那么将V ...
分类:编程语言   时间:2017-07-05 11:40:37    阅读次数:176
无锁队列的实现
锁是高性能程序的杀手,但是为了保证数据的一致性,在多线程的应用环境下又不得不加锁。但是在某些特殊的场景下, 是可以通过优化数据结构来达到无锁的目的。那么我们就来看一下如何实现一个无锁队列。 队列:众所周知,就是先进先出。 出队列的时候从队列头取出一个结点;入队列的时候,将结点添加到队列尾部。当多线程 ...
分类:其他好文   时间:2017-07-04 11:07:05    阅读次数:169
C# 无锁队列
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; namespace ... ...
分类:Windows程序   时间:2017-07-03 23:50:24    阅读次数:274
linux无锁化编程--__sync_fetch_and_add系列原子操作函数
linux支持的哪些操作是具有原子特性的?知道这些东西是理解和设计无锁化编程算法的基础。 下面的东西整理自网络。先感谢大家的分享! __sync_fetch_and_add系列的命令,发现这个系列命令讲的最好的一篇文章,英文好的同学可以直接去看原文。Multithreaded simple data ...
分类:系统相关   时间:2017-07-03 16:22:09    阅读次数:262
'IOKING' TCP Transmission Server Engine ('云猴'©TCP通讯server引擎)(预告版)
关键词: IOKING IOCP TCP Transmission Server Engine Lock Free Interlocked 云猴完毕portTCP通讯server引擎 无锁 原子锁(函数) 'IOKING' TCP Transmission Server Engine ('云猴'©T ...
分类:其他好文   时间:2017-07-02 13:10:08    阅读次数:211
多版本号并发控制(MVCC)在实际项目中的应用
近期项目中遇到了一个分布式系统的并发控制问题。该问题能够抽象为:某分布式系统由一个数据中心D和若干业务处理中心L1,L2 … Ln组成;D本质上是一个key-value存储,它对外提供基于HTTP协议的CRUD操作接口。L的业务逻辑能够抽象为以下3个步骤:read: 依据keySet {k1, … ...
分类:Web程序   时间:2017-06-30 14:05:38    阅读次数:190
351条   上一页 1 ... 18 19 20 21 22 ... 36 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!