码迷,mamicode.com
首页 >  
搜索关键字:无锁    ( 351个结果
无锁内存缓冲池
/* 无锁内存缓冲池 其特点如下: 池内存的申请和释放不会使用锁,只会用到微耗的interlockedincrement和interlockeddecrement函数 池内存总大小和池内内存块的大小是固定长度的,通过构造函数的参数指定; 分配出来的池内存是经过memset确认的物理内存; 池大小是固定的,若池中空闲内存不足以提供所需,则池内存分配函数利用malloc...
分类:其他好文   时间:2014-08-23 16:52:03    阅读次数:344
使用CAS实现高效并发处理
在并发处理应用中,一般使用锁的方式来解决竞争问题,但锁的效率比较低,因此,在高并发处理中,无锁队列成为应用的需要。CAS无锁算法主要依赖于处理器的支持,绝大多数处理器都支持: X86平台:CMPXCHG 汇编指令。 在一个指令周期内执行完成,因此是原子性的。 这一原理性操作过程如果采用C描述如下: intcompare_and_swap (int* reg, int old...
分类:其他好文   时间:2014-08-21 19:32:34    阅读次数:207
《Java程序性能优化》学习笔记 Ⅲ 并行程序优化
第四章 并行程序优化4.1 并行程序设计模式4.2 JDK多任务执行框架4.3 JDK并发数据结构4.4 并发控制方法4.5 锁的性能和优化4.6 无锁的并行计算1.非阻塞同步避免了基于锁的同步的缺陷,无锁算法没有锁竞争带来的系统开销,也没有线程间频繁调度带来的开销。CAS算法:包含3个参数CAS(...
分类:编程语言   时间:2014-08-13 18:42:26    阅读次数:196
项目分析(map复习)
有段时间没看map里面的东西了,刚才看发现功能上增加了一些,在来复习了一次流程初始化每个map建立线程,这个线程有两个功能,1.处理GS发过来的包 2.驱动map里面的定时器GS发过来的包是存在m_gs2msPkts2这个无锁的单消费者,单生产者队列中,只要是GS中不处理的包都要发到MAP中然后每个...
分类:其他好文   时间:2014-08-13 03:28:25    阅读次数:197
无锁编程与有锁编程的性能对比与分析
最近维护的一个网络服务器遇到性能问题,于是就对原有的程序进行了较大的框架改动。改动最多的是线程工作模式与数据传递方式,最终的结果是改变锁的使用模式。经过一番改进,基本上可以做到 GMb 网卡全速工作处理。在 性能达标之后,一度在想有没有什么办法使用更加轻量级锁,或者去掉锁的使用,为此搜索一些相关的研究成果,并做了一些实验来验证这些成果,因而就有这篇文章。希望有做类似工作的同行可以有所借鉴。如果有人...
分类:其他好文   时间:2014-08-11 11:59:42    阅读次数:337
无锁编程以及CAS
无锁编程以及CAS 无锁编程 / lock-free / 非阻塞同步 无锁编程,即不使用锁的情况下实现多线程之间的变量同步,也就是在没有线程被阻塞的情况下实现变量的同步,所以也叫非阻塞同步(Non-blocking Synchronization)。 实现非阻塞同步的方案称为“无锁编程算法”( Non-blocking algorithm)。 lock-free是目前最...
分类:其他好文   时间:2014-08-11 11:58:42    阅读次数:321
handy之日志--高性能无锁日志系统
服务器编程中,日志系统需要满足几个条件 .高效,日志系统不应占用太多资源 .简洁,为了一个简单的日志功能引入大量第三方代码未必值得 .线程安全,服务器中各个线程都能同时写出日志 .轮替,服务器不出故障是不重启的,半年一年的日志放到一个文件会导致文件过大 .及时保存,程序故障导致异常退出,此时需要通过...
分类:其他好文   时间:2014-08-03 12:28:55    阅读次数:454
C,Java和C#中典型的多线程范例都强烈推荐使用锁和互斥
C,Java和C#中典型的多线程范例都强烈推荐使用锁和互斥。对于锁来说有个隐藏的开销:它们慢得难以忍受。使用Disruptor(JVM中的无锁的环形缓存[译者注:实际上就是拥有一个序号指向下一个可用元素的数组]),你可以很容易得每秒处理20M以上的事件。
分类:编程语言   时间:2014-07-29 20:38:02    阅读次数:203
MS-queue算法相关
简介:多核多线程已经成为当下一个时髦的话题,而无锁编程更是这个时髦话题中的热点话题。Linux内核可能是当今最大最复杂的并行程序之一,为我们分析多核多线程提供了绝佳的范例。内核设计者已经将最新的无锁编程技术带进了2.6系统内核中,本文以2.6.10版本为基础做相关解释。非阻塞型同步(Non-bloc...
分类:其他好文   时间:2014-07-29 14:05:58    阅读次数:252
项目分析(多进程数据走向初步)
1.数据的来源NetProcSvr::init()->libevent::conn_readcb(读事件)->Channel::read_datastream(读到数据流)->TCPServer::on_receive_data读包->from_net_push_pkt(放到无锁队列中去即m_all...
分类:其他好文   时间:2014-07-26 09:52:07    阅读次数:248
351条   上一页 1 ... 32 33 34 35 36 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!