LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2280|回复: 5

消息队列和信号量有什么用?

[复制链接]
发表于 2004-2-7 23:53:59 | 显示全部楼层 |阅读模式
看了书,还是不怎么明白,说是进程间通讯,但进程间能有什么通讯呢?是能传递“ I MISSING YOU ”等的信息吗?要是这样,在哪个变量里设置?

还有消息队列和信号量两者的功能好相似,他们各有什么用吗?现在以我的认识就认为他们中的其中一个是多余的,请大伙解惑??
 楼主| 发表于 2004-2-8 00:45:02 | 显示全部楼层
非常感谢CU的forest077     给出解答!!

进程间是需要通讯的。比方说,在大型工程里面,在一个系统里面可能是三层架构,简单点说是三个进程,一个管接收,一个管处理,一个管发送。那么管接收的那个进程怎样把接收到的内容交给处理的进程,管处理的进程又怎样把处理完的内容交给发送进程呢?这就要用到本机内的进程间通讯。通常有两种方法,一种是通过socket在本机两个进程间传递消息,一种就是通过消息队列。前者速度慢,后者快。
消息队列可以容纳上千字节的内容,足以供本机内的两个进程间传递消息有余。
信号量的功能和消息队列完全不同,一般用来设置共享访问时候的锁。它不能容纳很多字节的报文,只拥有一个信号量集合,集合内含若干信号量,进程之间通过信号量值为多少来互相传递一些简单的消息。由于信号量操作函数是原子操作,因而这个特性被用来对共享数据设置锁,不同的进程就可以互斥的访问共享数据了。
发表于 2004-2-8 18:39:21 | 显示全部楼层
大哥。。。。。。
推荐你去找本操作系统原理看看。。。。这个真的很基础啊。。。。
 楼主| 发表于 2004-2-8 21:42:18 | 显示全部楼层
最初由 dancingpig 发表

推荐你去找本操作系统原理看看。。。。这个真的很基础啊。。。。


谢谢,我手头上只有《计算机操作系统四级》有什么好书吗?
发表于 2004-2-8 22:15:24 | 显示全部楼层
steve的书就差不多了哦,别的好象不需要吧
发表于 2004-2-9 22:27:06 | 显示全部楼层
信号量在操作系统中非常有用
当代码对共享内存的使用时候使用信号量来相互通知是一种手段
操作系统原理的书中一定有详细解释这方面的知识
告诉你信号量的用处,使用和不使用信号量的结果
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表