打印
[ZLG-ARM]

请教下UCOS任务管理的问题

[复制链接]
1445|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jlinkv7|  楼主 | 2011-8-31 15:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问下,在自己的代码中,能创建多个信号量、多个消息邮箱 (即在一个代码里面,存在多个信号量等事件)可以吗? 比如: com1=ossemcreate(1); com2=ossemcreate(1); mes1=osmboxcreate() mes2=osmboxcreate(...) 。。。在世间控制块资源够用情况下,在一个代码中创建多个信号量等?如果行的话,为什么很少人代码有这样在一个程序里面,创建多个信号或者消息事件?

相关帖子

沙发
idonotknow0914| | 2011-9-2 10:55 | 只看该作者
本帖最后由 idonotknow0914 于 2011-9-2 11:05 编辑

应该可以吧,正在学习中。
因为:
信号量可以分为两种:一种是二值信号量(0 和 1),一种是 N 值信号量(计数式信号
量)。
    二值信号量的意思是可以有多少任务同时享用这个信号量。比如二值信号,就是只有 1 个任务可以使用。当有一个任务使用该信号量的时候,那么其他需要使用该信号量的任务就必须等待,直到该任务释放该信号量。这种信号量可以看作一把钥匙。
    对于 N 值信号量(计数式信号量),就是说可以同时有 N‐1个任务同时使用该信号量。对于二值信号量,N=1。

使用特权

评论回复
板凳
airwill| | 2011-9-3 10:24 | 只看该作者
当然可以, 也有很多程序都会使用多个信号量.
你的问题呢, 是你看到的范例很简单, 就取了一个信号做演示罢了.

使用特权

评论回复
地板
maoyanketi| | 2011-9-4 22:15 | 只看该作者
一直没有搞明白的飘过

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

5

帖子

1

粉丝