免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2666 | 回复: 6
打印 上一主题 下一主题

关于ipc---进程间信号量通信的问题? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-07-16 10:10 |只看该作者 |倒序浏览
进程a放信息,进程b取信息,a之间b 异步通信。
条件:
1、进程a放(put)信息时,进程b等待a放完之后,才能取信息。
2、进程b取信息时,进程a等待b取完之后,才能放(put)信息。
3、进程a不放(put)信息时,进程b可以连续取信息。
4、进程b不取信息时,进程a可以连续放(put)信息。

请问通过semphore如何实现?

论坛徽章:
0
2 [报告]
发表于 2003-07-16 13:41 |只看该作者

关于ipc---进程间信号量通信的问题?

使用两个信号灯,一个用于表示a写,另一个表示b读。

论坛徽章:
0
3 [报告]
发表于 2003-07-16 17:59 |只看该作者

关于ipc---进程间信号量通信的问题?

可以利用管道,因为管道的读写是阻塞的,一个用于读,一个用于写

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
4 [报告]
发表于 2003-07-17 15:36 |只看该作者

关于ipc---进程间信号量通信的问题?

类似于生产者消费者问题,看OS的熟,几乎市面上的书中都讨论了这个问题。

但是楼主描述的异步是不准确的

论坛徽章:
0
5 [报告]
发表于 2003-07-18 10:09 |只看该作者

关于ipc---进程间信号量通信的问题?

最基本的生产者消费者问题,若是用共享内存考虑用基于内存的信号灯,要不就用有名信号灯。

论坛徽章:
0
6 [报告]
发表于 2003-07-18 10:18 |只看该作者

关于ipc---进程间信号量通信的问题?

semphore提供的不是原子操作吗?
我没用过,不会那么土吧。

如果是原子操作的话,一个就够了
如果不是原子操作,那和变量有什么区别,任何一本讲OS的书上都有
现成的算法,最有名的是两个。

论坛徽章:
0
7 [报告]
发表于 2008-06-27 21:40 |只看该作者
用信号量实现进程通信的方法有:
管程。
屏障。
消息传递。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP