免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3112 | 回复: 14

线程间用那一种文件描述符通讯效率最高? [复制链接]

论坛徽章:
0
发表于 2005-03-03 13:03 |显示全部楼层
基本设想是一个线程往一个文件描述符写入数据,另外一个线程使用select/poll在文件描述符上等待数据。
想了解一下效率最高的通讯方式,是unix域套接字,pipe,或者其他?这里的效率是指响应时间上的。

论坛徽章:
0
发表于 2005-03-03 17:14 |显示全部楼层

线程间用那一种文件描述符通讯效率最高?

原帖由 "svenwang" 发表:
基本设想是一个线程往一个文件描述符写入数据,另外一个线程使用select/poll在文件描述符上等待数据。
想了解一下效率最高的通讯方式,是unix域套接字,pipe,或者其他?这里的效率是指响应时间上的。



用命名管道(也叫fifo)

论坛徽章:
0
发表于 2005-03-03 18:16 |显示全部楼层

线程间用那一种文件描述符通讯效率最高?

原帖由 "sunlan" 发表:



用命名管道(也叫fifo)

能讲讲原因吗?
谢谢了~~!!

论坛徽章:
0
发表于 2005-03-03 22:45 |显示全部楼层

线程间用那一种文件描述符通讯效率最高?

线程间最快的方法当然是公用内存!
比如用堆。

论坛徽章:
0
发表于 2005-03-03 22:56 |显示全部楼层

线程间用那一种文件描述符通讯效率最高?

不考虑MULTIPLEX的话,共享就行了.
考虑MULTIPLEX的话,PIPE最快,但PIPE一般在KERNEL里面只有4K的空间,我见过最大的也就几个PAGE,考虑到PIPE的操作是原子的,所以PIPE不适合大数据交换.NAME PIPE也好不到那里去.SOCKET的话,恩我没有见过这样的设计,用是肯定可以,不过,有那必要吗?

论坛徽章:
0
发表于 2005-03-03 23:01 |显示全部楼层

线程间用那一种文件描述符通讯效率最高?

原帖由 "柳五随风" 发表:
不考虑MULTIPLEX的话,共享就行了.
考虑MULTIPLEX的话,PIPE最快,但PIPE一般在KERNEL里面只有4K的空间,我见过最大的也就几个PAGE,考虑到PIPE的操作是原子的,所以PIPE不适合大数据交换.NAME PIPE也好不到那里去.SOCKET..........


就算用上sem也是内存共享快。而且通讯量越大越显得快。

论坛徽章:
0
发表于 2005-03-03 23:45 |显示全部楼层

线程间用那一种文件描述符通讯效率最高?

JohnBull你看懂我说的是什么了吗?

论坛徽章:
0
发表于 2005-03-04 00:12 |显示全部楼层

线程间用那一种文件描述符通讯效率最高?

原帖由 "JohnBull" 发表:
线程间最快的方法当然是公用内存!
比如用堆。

我是想用select/poll来等待数据,所以相同的地址空间/共享内存不能解决这个问题。

论坛徽章:
0
发表于 2005-03-04 00:44 |显示全部楼层

线程间用那一种文件描述符通讯效率最高?

原帖由 "svenwang" 发表:

我是想用select/poll来等待数据,所以相同的地址空间/共享内存不能解决这个问题。


我不信,用sem肯定可以。

论坛徽章:
0
发表于 2005-03-04 09:46 |显示全部楼层

线程间用那一种文件描述符通讯效率最高?

根据你的要求,就用pipe就可以了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP