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>數據結構 下圖 ...