• boost 无锁队列

    时间:2022-08-01 05:51:45

    一哥们翻译的boost的无锁队列的官方文档原文地址:http://blog.csdn.net/great3779/article/details/8765103Boost_1_53_0终于迎来了久违的Boost.Lockfree模块,本着学习的心态,将其翻译如下。(原文地址:http://www.b...

  • 链表的无锁操作 (JAVA)

    时间:2022-07-14 20:53:45

    看了下网上关于链表的无锁操作,写的不清楚,遂自己整理一部分,主要使用concurrent并发包的CAS操作。1. 链表尾部插入待插入的节点为:cur尾节点:pred基本插入方法:do{pred = find_tail();//重新找尾节点}(! pred.next.compareAndSet(NUL...

  • java无锁hashmap原理与实现详解

    时间:2022-07-03 07:06:08

    本文主要介绍了java无锁hashmap原理与实现,大家参考使用吧

  • 透过 Linux 内核看无锁编程(二)(转)

    时间:2022-06-25 12:10:13

    http://blog.sina.com.cn/s/blog_63ce05ca0100v079.html 习总霾天访南锣寓意深刻登录注册ghtandyy的博客http://blog.sina.com.cn/ghtandyy [订阅][手机订阅]首页博文目录图片关于我个...

  • DIOCP开源项目-高效稳定的服务端解决方案(DIOCP + 无锁队列 + ZeroMQ + QWorkers) 出炉了

    时间:2022-06-01 21:22:41

    [概述]自从上次发布了[DIOCP开源项目-利用队列+0MQ+多进程逻辑处理,搭建稳定,高效,分布式的服务端]文章后,得到了很多朋友的支持和肯定。这加大了我的开发动力,经过几个晚上的熬夜,终于在昨天晚上,DEMO基本成型,今天再加入了QWorkers来做逻辑处理进程,进一步使得逻辑处理进程更加方便和...

  • 高性能无锁队列 Disruptor 初体验

    时间:2022-06-01 21:22:35

    原文地址: haifeiWu和他朋友们的博客 博客地址:www.hchstudio.cn 欢迎转载,转载请注明作者及出处,谢谢!最近一直在研究队列的一些问题,今天楼主要分享一个高性能的队列 Disruptor 。what Disruptor ?它是英国外汇交易公司 LMAX 开发的一个高性能队列,研...

  • folly无锁队列,尝试添加新的函数

    时间:2022-06-01 21:22:23

    1. folly是facebook开源的关于无锁队列的库,实现过程很精妙。folly向队列中添加节点过程,符合标准库中的队列的设计,而取出节点的过程,则会造成多个线程的分配不均。我曾经试着提供一次 取出一个节点的函数,虽然存在一些问题,不过还是有很多可以学习的地方。我新增的函数,在下面代码中,会在注...

  • Erlang运行时中的无锁队列及其在异步线程中的应用

    时间:2022-06-01 21:22:17

    本文首先介绍 Erlang 运行时中需要使用无锁队列的场合,然后介绍无锁队列的基本原理及会遇到的问题,接下来介绍 Erlang 运行时中如何通过“线程进度”机制解决无锁队列的问题,并介绍 Erlang 运行时中提供的一个通用无锁队列的实现及其在 ERTS 异步线程池中的应用。无锁队列在 ERTS 中...

  • 使用JAVA实现高并发无锁数据库操作步骤分享

    时间:2022-05-21 23:46:52

    一个在线2k的游戏,每秒钟并发都吓死人。传统的hibernate直接插库基本上是不可行的。我就一步步推导出一个无锁的数据库操作,详情看下文

  • 无锁编程(六) - seqlock(顺序锁)

    时间:2022-05-14 12:09:29

    seqlock(顺序锁) 用于能够区分读与写的场合,并且是读操作很多、写操作很少,写操作的优先权大于读操作。seqlock的实现思路是,用一个递增的整型数表示sequence。写操作进入临界区时,sequence++;退出临界区时,sequence再++。写操作还需要获得一个锁(比如mutex),这...

  • 无锁编程与内存栅栏

    时间:2022-05-14 12:09:29

    一个压箱底的问题是 levelDB 中的原子指针的实现:没有使用到锁,而是使用到了一个内存栅栏,以下是源码: 原子指针是什么?这个概念可能听得多,但用意何在估计很少有人能说得上来!这里我用白话去解释一下: 指针的赋值并非是一个原子操作:如 cpu0 正要执行 void *p = k;若 k 不在 ...

  • linux 无锁化编程

    时间:2022-05-14 12:09:17

    摘录博客: https://blog.csdn.net/hzhsan/article/details/25124901 内容如下: 1.__sync_fetch_and_add 函数系列 __sync_fetch_and_add系列一共有十二个函数,有加/减/与/或/异或/等函数的原子性操作函数。_...

  • 无锁编程和有锁编程效率对比

    时间:2022-05-14 12:09:05

    主要观点包括: 程序简单时,可以通过改进程序结构和锁粒度,来提高性能 程序复杂时(需要考虑死锁,优先级继承等),可通过无锁编程CAS来提高性能 最近维护的一个网络服务器遇到性能问题,于是就对原有的程序进行了较大的框架改动。改动最多的是线程工作模式与数据传递方式,最终的结果...

  • java编程-无锁初始化

    时间:2022-05-06 12:12:00

    private final Node<K,V>[] initTable() { Node<K,V>[] tab; int sc; while ((tab = table) == null || tab.length == 0) { ...

  • java无锁化编程一:目录

    时间:2022-05-06 12:11:54

    假设我们用netty做服务,当接受到网络传输的码流,我们通过某种手段将这种传输数据解析成了熟悉的pojo,那这些pojo该如何进一步处理? 比如游戏中的抢购、场景业务等,对处理那种高并发的业务场景,如何保证数据的一致性?   1.悲观锁和乐观锁 悲观锁和乐观锁这种,大家立即会联想到数据库读写。但是我...

  • Disruptor(无锁并发框架)-发布

    时间:2022-04-24 18:02:40

    假如你生活在另外一个星球,我们最近开源了一套高性能的基于消息传递的开源框架。 下面我给大家介绍一下如何将消息通过Ring buffer在无锁的情况下进行处理。 在深入介绍之前,简介介绍下Ring Buffer的工作原理。 1.Ring buffer是由一个大数组组成的。 2.所有Ring buffe...

  • 无锁编程(CAS以及java的实现)

    时间:2022-04-22 12:14:14

    最开始接触到相关的内容应该是从volatile关键字开始的吧,知道它可以保证变量的可见性,而且利用它可以实现读与写的原子操作。。。但是要实现一些复合的操作volatile就无能为力了。。。最典型的代表是递增和递减的操作。。。。 我们知道,在并发的环境下,要实现数据的一致性,最简单的方式就是加锁,保证...

  • 具体CAS操作实现(无锁算法)

    时间:2022-04-22 10:26:58

    具体CAS操作上一篇讲述了CAS机制,这篇讲解CAS具体操作.什么是悲观锁、乐观锁?在java语言里,总有一些名词看语义跟本不明白是啥玩意儿,也就总有部分面试官拿着这样的词来忽悠面试者,以此来找优越感,其实理解清楚了,这些词也就唬不住人了。synchronized是悲观锁,这种线程一旦得到锁,其他需...

  • AtomicReference(无锁的对象引用)与AtomicStampedReference与(带有时间戳的对象引用)

    时间:2022-04-08 14:33:55

    AtomicReference与AtomicStampedReference 1、AtomicReference(无锁的对象引用)遇到的问题: 不懂AtomicReference,看了很多关于AtomicReference的资料,几乎都一样(都是复制的),运行基本看不到想要的结果。 自己研究了一下...

  • 并行编程——开源并发库、无锁数据结构

    时间:2022-04-08 12:11:09

    转自: http://www.cnblogs.com/jiayy/p/3246250.html 1  一些资源 http://openmp.org/wp/  openmp 开放标准的并行程序指导性注释,没用过 http://software.intel.com/zh-cn/articles...