|
|
小弟是新手,没啥经验,求救!
我要做一个程序同时从内核和应用层获取一些消息,
都是从各自的管道读出.然后再把这些消息一个一个发出去,(所有的消息属性都一样)
(主要问题是,尽可能把消息读到用户层缓冲区,避免阻塞内核)
从那两个命名管道读是用select读,但是发的时候想不明白:
方案1,两个线程,一个把所有的信息读到一个缓冲区里,另一个把信息一个个发送掉
方案2,两个进程,一个进程读出来,传给另外一个进程,
2中的ipc用什么办法好呢?我想到过pipe,但是可能影响效率吧?,
昨天看看书,消息队列好像很简单,但是又听人说效率不好,
共享内存如何?好像很复杂.
(如果用共享内存的话,一个进程读出一个后,怎么取消那个消息占用的空间呢?)
1中要用线程 或许这样我可以发送的更快,多搞一些线程发
其实线程,消息队列,共享内存什么的我都没做过,不知道哪个方法好,
请各位推荐方法,然后我去研究研究,谢谢先! |
|