|
藍森林 http://www.lslnet.com 2006年6月6日 10:18
如何增加消息隊列的的緩存空間?
為了方便,使用操作系統現成的消息隊列,但是該消息隊列似乎最大為4096bytes,即使改變給msg_qbytes賦值,如果該值大於4096的話,最後的結果還是4096,而如果小於4096的話就可以改變緩衝的大小。
這個值能大於4096嗎?怎麼做?先謝了! |
如何增加消息隊列的的緩存空間?
hpux(sam)和linux(/proc/sys/kernel/msgmnb)都可以通過調整核心參數:msgmnb
來改變msg queue的上限大小 |
如何增加消息隊列的的緩存空間?
呵呵,非得用消息隊列通訊嗎,何必在一顆樹上吊死
再說了4K已經很大了,你可以多讀幾次嘛 |
如何增加消息隊列的的緩存空間?
消息隊列是由OS來維護的。
這個大小可以調整,但是對於一些應用來說,遠遠的不夠。為此:
1、可以設計一個隊列或者鏈表甚至文件等存儲真正的交易數據。OS消息隊列只是存放一些隊列屬性和數據的關鍵信息,讓這個關鍵信息能夠和你的真正的數據唯一標識便可。
2、程序中開闢一段緩存空間。負責數據的臨時緩存,數據交換的過程由OS的隊列來完成,數據的完整性和管理由你的緩存管理程序來完成。
3、其實這個問題的解決辦法很多,看你的愛好和需求自己決定。 |
| |