說我有其派生2個線程linux的高性能消息線程之間通過在C++
第一線程在緊湊循環中對UDP端口上的分組事件偵聽的方法。 第二個線程是接收這個UDP包中包含的字節並解析它/做的東西。
任何人都可以推薦比使用linux消息隊列更快的方法嗎? 我認爲它們很慢,因爲它們在寫入隊列時複製字節,並在隊列中讀取時再次複製它們
我意識到了zeromq庫,但是有沒有這種方法可以在沒有這種開銷的情況下做到這一點? 我意識到我可以在兩個線程之間使用tcp/ip套接字進行簡單的排隊通信,但有沒有更快的方法?
我想也許是在線程和互斥量之間共享的內存環形緩衝區用於控制指針最近更新的元素?
anyones想法嗎?
這真的是你的瓶頸?爲什麼不在線程中使用共享內存,而不是在進程中使用共享內存? – Flexo 2011-12-19 20:37:24
你還試過了什麼? Unix套接字?管? SysV IPC? – fge 2011-12-19 20:37:55
看看http://code.google.com/p/disruptor/:它是java,但是,它可能會激勵你......;) – Nim 2011-12-19 20:39:12