https://github.com/search?q=GetQueuedCompletionStatus+WaitforMultipleObjects&type=Code 本人设计了一个高效读写锁,可实现多个线程读一个线程写的锁,应该比Delphi自带的读写锁高效,本人没有做对 ...
本文提供Delphi一个基于原子操作的无锁队列,简易高效。适用于多线程大吞吐量操作的队列。 可用于Android系统和 , 位Windows系统。 感谢歼 和qsl提供了修改建议 有如下问题: .必须事先足够大开辟内存,大到不会出现队列溢出了。 .队列大小必须是 的幂 .不能压入空指针 .本程序还未经过工程应用考验 性能测试: 采用天地弦提供的评估程序,进行了一些修改,分别对使用不同的临界区的队列 ...
2014-06-04 20:50 6 3975 推荐指数:
https://github.com/search?q=GetQueuedCompletionStatus+WaitforMultipleObjects&type=Code 本人设计了一个高效读写锁,可实现多个线程读一个线程写的锁,应该比Delphi自带的读写锁高效,本人没有做对 ...
队列(Queue)也是常用的数据结构之一。在JDK中提供了一个ConcurrentLinkedQueue类用来实现高并发的队列。从名字可以看出,这个队列是使用链表作为其数据的结构的。ConcurrentLinkedQueue应该算是在高并发的环境中性能最好的了。它之所以有很好的性能,是因为其内 ...
本人根据歼10博主的此博文的思路进行改进,目的是高效的实现FormatDateTime('YYYY-MM-DD HH:NN:SS.ZZZ', Now); 在DelphiXE3 32Bits环境测试10,000,000次, Delphi自带的FormatDateTime = 20405 ms ...
关于CAS等原子操作 在开始说无锁队列之前,我们需要知道一个很重要的技术就是CAS操作——Compare & Set或是 Compare & Swap,现在几乎所有的CPU指令都支持CAS的原子操作,X86下对应的是 CMPXCHG 汇编指令。有了这个原子操作,我们就可以 ...
1.ServiceStack.Redis封装 封装的Redis操作类名为RedisHandle,如下代码块(只展示部分代码),它的特点: 1)使用连接池管理连接,见代码中的PooledClient ...
websocket的主要是为了解决在web上应用长连接进行灵活的通讯应用而产生,但websocket本身只是一个基础协议,对于消息上还不算灵活,毕竟websocket只提供文本和二进制 ...
('Hello World!', 0); end; Delphi_TTS_1 ...
ConcurrentQueue<T>队列是一个高效的线程安全的队列,是.Net Framework 4.0,System.Collections.Concurrent命名空间下的一个数据结构。 ConcurrentQueue<T>数据结构 下图 ...