EDA365电子论坛网
标题:
二值信号量和计数信号量的区别是什么?系统怎么区分是二值还是计数呢
[打印本页]
作者:
abc66
时间:
2022-10-27 10:41
标题:
二值信号量和计数信号量的区别是什么?系统怎么区分是二值还是计数呢
二值信号量和计数信号量的区别是什么?创建函数都是rt_sem_create,那么系统怎么区分我是二值还是计数?
# g4 U6 f& N/ h3 X: \
假设我创建了一个 信号量如下
) R3 ?2 o: _% S8 E* ]+ I
dynamic_key1 = rt_sem_create(“dsem_key1”, 0, RT_IPC_FLAG_FIFO);
: \, G. u1 R2 h
这个信号量是二值还是计数?
& k) z0 u- Z; k( _, O+ ~& L Y8 ]
如果是二值我一直释放信号量会怎么样?
0 B8 K$ g7 B2 Z/ J4 h
作者:
three
时间:
2022-10-27 11:23
他们没有区别吧,只是信号量的值只为 0和1,称为二值信号量
* d0 r D, {. i" X
作者:
opipo
时间:
2022-10-27 13:10
更多地是使用场景的区别:通常二值信号量用于事件同步,初值为0,等待事件到来;计数信号里用于资源计数,初值为资源数。
- {) Y- K8 |; @! u+ X
作者:
oponi
时间:
2022-10-27 13:22
基本没有区别,就是数量上有区别,二值就是0或1两个值,计数范围就大了。
2 L( \2 s% k' l' T# g2 N
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2