转自:http://blog.csdn.net/kangroger/article/details/47867269 定义 无锁编程是指在不使用锁的情况下,在多线程环境下实现多变量的同步。即在没有线程阻塞的情况下实现同步。这样可以避免竞态、死锁等问题。 原理 CAS是指Compare-and-swa ...
分类:
其他好文 时间:
2017-02-27 01:19:28
阅读次数:
278
在看多核编程相关论文时,往往一个并发算法会说自己是wait-free的或者lock-free的,或者是 non-blocking 的,这些专有词汇其实表示的是并发的程度,或者说并发的级别。并发级别的理解是阅读各种并发算法设计论文以及并发数据结构实现的必备基础。 1.1 Wait-freedom 无等 ...
分类:
其他好文 时间:
2017-02-04 12:17:32
阅读次数:
163
来一张看上去是淘宝的架构的图: 参考地址:http://hellojava.info/?p=520 说几点我认可的地方: 再来一张貌似是京东架构的图: 参考页面地址:http://geek.csdn.net/news/detail/98500 说一下认为其中有道理的地方: 架构又可分:基础架构、系统 ...
分类:
Web程序 时间:
2016-11-26 16:52:46
阅读次数:
278
http://www.drdobbs.com/lock-free-data-structures-with-hazard-po/184401890 memory deallocation lock-free session.h support/hazard.c __wt_hazard_set() / ...
分类:
其他好文 时间:
2016-08-17 13:43:34
阅读次数:
153
在多线程环境中,对共享的变量的访问,可以使用基于Compare And Swap这种lock free的技术进行实现,这种实现的好处是效率高。 一、原子操作摘录 1.1 Android 源码:system/core/libcutils /atomic.c(针对X86): 1 #elif define ...
分类:
编程语言 时间:
2016-06-23 23:58:55
阅读次数:
420
namespace RTT
{ namespace base { /**
* @brief This DataObject is a Lock-Free implementation,
* such that reads and writes can happen concurrently without priority
* inversions.
*...
分类:
其他好文 时间:
2016-05-06 12:48:11
阅读次数:
229
8. 告别Lock 不是一直说Lock比较麻烦危险吗,那就不要好了。其实有一个Lock free的方法。 首先引入一个概念——原子变量。在这种变量上的操作是原子操作(atomic operation)。原子操作就是说这个操作要么都完成,要么都不完成,部分完成是不行的。就像物理化学中的原子一样,借用不 ...
分类:
编程语言 时间:
2016-03-24 10:20:48
阅读次数:
208
原文:http://preshing.com/20120515/memory-reordering-caught-in-the-act/编写lock-free的C/C++程序时,在保证memoryordering正确性上要非常小心,否则,奇怪的事就来了。Intel在《x86/64Architectu...
分类:
其他好文 时间:
2015-12-13 15:21:54
阅读次数:
258
关键词:
no-lock interlocked lock-free tcp/ip socket server engine epoll iocp server out-of-orderexecution无锁 原子锁 原子操作 原子指令 锁无关 开放锁 通讯服务器 引擎 高并发 大数据 搜索引擎 完成端口服务器 cpu乱序并行执行 内存栅栏
IOKING 真正无锁服务器引擎之消...
分类:
其他好文 时间:
2015-08-28 00:57:12
阅读次数:
191
原文:无锁数据结构(Lock-Free Data Structures)一个星期前,我写了关于SQL Server里闩锁(Latches)和自旋锁(Spinlocks)的文章。2个同步原语(synchronization primitives)是用来保护SQL Server里的共享数据结构,例如缓存...
分类:
其他好文 时间:
2015-08-03 01:04:45
阅读次数:
178