原文:简易高效的Delphi原子队列

本文提供Delphi一个基于原子操作的无锁队列,简易高效。适用于多线程大吞吐量操作的队列。 可用于Android系统和 , 位Windows系统。 感谢歼 和qsl提供了修改建议 有如下问题: .必须事先足够大开辟内存,大到不会出现队列溢出了。 .队列大小必须是 的幂 .不能压入空指针 .本程序还未经过工程应用考验 性能测试: 采用天地弦提供的评估程序,进行了一些修改,分别对使用不同的临界区的队列 ...

2014-06-04 20:50 6 3975 推荐指数:

查看详情

Delphi 高效读写锁

https://github.com/search?q=GetQueuedCompletionStatus+WaitforMultipleObjects&type=Code 本人设计了一个高效读写锁,可实现多个线程读一个线程写的锁,应该比Delphi自带的读写锁高效,本人没有做对 ...

Thu Jun 21 09:26:00 CST 2018 0 1185
高效读写的队列:ConcurrentLinkedQueue

队列(Queue)也是常用的数据结构之一。在JDK中提供了一个ConcurrentLinkedQueue类用来实现高并发的队列。从名字可以看出,这个队列是使用链表作为其数据的结构的。ConcurrentLinkedQueue应该算是在高并发的环境中性能最好的了。它之所以有很好的性能,是因为其内 ...

Wed Oct 10 18:45:00 CST 2018 4 6415
Delphi高效定制格式的FormatDateTime

本人根据歼10博主的此博文的思路进行改进,目的是高效的实现FormatDateTime('YYYY-MM-DD HH:NN:SS.ZZZ', Now); 在DelphiXE3 32Bits环境测试10,000,000次, Delphi自带的FormatDateTime  = 20405 ms ...

Thu Jun 21 09:29:00 CST 2018 0 1213
原子操作实现无锁队列

关于CAS等原子操作 在开始说无锁队列之前,我们需要知道一个很重要的技术就是CAS操作——Compare & Set或是 Compare & Swap,现在几乎所有的CPU指令都支持CAS的原子操作,X86下对应的是 CMPXCHG 汇编指令。有了这个原子操作,我们就可以 ...

Sun May 19 19:28:00 CST 2019 0 561
ServiceStack.Redis高效封装和简易破解

1.ServiceStack.Redis封装 封装的Redis操作类名为RedisHandle,如下代码块(只展示部分代码),它的特点: 1)使用连接池管理连接,见代码中的PooledClient ...

Tue Oct 08 18:45:00 CST 2019 22 3593
高效简易开发基于websocket 的通讯应用

 websocket的主要是为了解决在web上应用长连接进行灵活的通讯应用而产生,但websocket本身只是一个基础协议,对于消息上还不算灵活,毕竟websocket只提供文本和二进制 ...

Sat Jul 11 05:44:00 CST 2015 5 8381
高效的线程安全队列ConcurrentQueue(上)

ConcurrentQueue<T>队列是一个高效的线程安全的队列,是.Net Framework 4.0,System.Collections.Concurrent命名空间下的一个数据结构。 ConcurrentQueue<T>数据结构 下图 ...

Mon Mar 19 22:09:00 CST 2012 3 42831
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM