• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

RTOS中的信号量问题

Spirit 2018-11-27 浏览量:1195

信号量是操作系统里的一个基本概念

我现在了解信号量是做什么的,怎么做的。

限于工作经验,只能用到二值信号量。计数型信号量用在什么场合呢?

请哪位用过计数信号量的朋友介绍上,您是在什么场合要使用计数信号量。

(拿停车场的例子讲课就不必了,我就是想增长点见闻)

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • freeRTOS 中控制多盏灯闪烁,试试单值信号量,和多值信号量,就知道了

    单值一次只能有一盏灯闪烁,多值信号量一次可以有多个灯闪烁。

    多值信号量相当于单值信号量池

    • 发布于 2018-11-27
    • 举报
    • 评论 1
    • 1
    • 0
1667 回复了 1667:RTOS 多值信号量调度会有问题,不一定明显,用 linux 多核心多进程,跑一下就知道 回复

其他答案 数量:8
  • 比如你要用 6 个进程跑一个任务,可以初始化一个 初始值为  6 的信号量,然后 fork ,获取到信号量的可以跑,获取不到不跑,跑完释放信号量。

    最大只能有 6 个进程,其他进程都获取不到信号量不能运行,结束一个进程,信号量加一,系统 fork 的新进程可以再次获取信号量,还是保持 6 个进程。

    • 发布于2018-11-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 多值的一个应用是可以控制多个相关进程

    因为多值可以被控制,可以控制激活进程总数,比如信号量在激活进程时被减一,反之相关进程退出时加一,而信号量不为0就还可以激活进程,这样就可以通过初始化不同的信号量来调控可以同时打开的进程数。

    • 发布于2018-11-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 多值控制还得看信号的加减,如果计算不到位还是要出问题,看看初始化配置
    • 发布于2018-11-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 计数型信号量主要用于控制复杂的功能吧,比如你的任务是枚举型输入的,需要不同的事件触发,那就要用到计数型信号量。

    • 发布于2018-11-30
    • 举报
    • 评论 0
    • 0
    • 0

  • 信号量可以理解为一个全局变量,这个变量可以为0也可以不为0,二值型的就只有1和0,多值的可以是0123456.。。然后就是大于0执行等于0不执行

    计数值信号量多用于同一个信号量可以给多个线程使用,但使用它的线程个数是受限制的

    • 发布于2018-12-15
    • 举报
    • 评论 0
    • 0
    • 0

  • 表示的一个互斥量。在一个时间之内只能允许一个线程去访问他
    • 发布于2018-12-30
    • 举报
    • 评论 0
    • 0
    • 0

  • 一般就是一个互斥信号,对你的资源进行保护的
    • 发布于2019-01-08
    • 举报
    • 评论 0
    • 0
    • 0

  • 2值信号就是互斥信号,相当于1把钥匙,用完给另外一个人用
    • 发布于2018-11-27
    • 举报
    • 评论 0
    • -1
    • 0

相关问题

问题达人换一批

RTOS中的信号量问题