Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
信号量_semaphore
5
A线程1s写一次存储区M ,释放一次信号量S,B线程5s获取信号量S,写存储区M
发布于 2021-12-23 11:59:33 浏览:565
订阅该版
如题,会不会产生B线程每次获取信号量的时候,无论A在执行什么,信号量都是被释放的? 换一种说法,因为释放多于获取次数,因此产生A线程正在操作存储区M的时候,B线程没有等A线程释放信号量,获取之前释放的信号量,同时操作存储区M? 写一个伪代码: ```c thread_a { init sem_p 释放sem_p while(1) { 获取sem_p 操作存储区M 释放sem_p } } thread_b { while(1) { 获取sem_p 操作存储区M 释放sem_p } } ``` 两个线程这样释放获取,是否可以避免我上面说的问题?
查看更多
chenyaxing
2021-12-23
泥上偶然留指爪,鸿飞那复计东西。
+ 用互斥量呀,也就是值为 1 的信号量,只有一张通行证,无论如何也不可能撞车吧 + 另外你提到的问题:取决于信号量的值,你要是发100张通行证,等于没有
3
个回答
默认排序
按发布时间排序
crystal266
2021-12-23
嵌入式
用互斥锁解决互斥问题
Assert
2021-12-24
这家伙很懒,什么也没写!
使用二值信号量或完成量或者互斥量就可以了
撰写答案
登录
注册新账号
关注者
0
被浏览
565
关于作者
melody
世界人民大团结万岁
提问
30
回答
6
被采纳
1
关注TA
发私信
相关问题
1
怎样可以将信号量复位为初始值
2
rt_sem_take 引起段错误
3
生产者消费者中是否可以使用一个事件集来代替多个二值信号量?
4
看RTT文档,不太懂有关信号量的死锁问题
5
这样使用UART接收一帧数据的方法是否可行
6
一对多线程间通信的问题
7
动态内存堆 保护全局变量lfree,为什么用信号量而不是互斥信号量
8
二值信号量的使用问题
9
USART1_IRQHandler串口中断接收问题
10
开发文档semaphore_sample.c有问题
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
【24嵌入式设计大赛】HPM5300-EVK 网络测速仪
2
RT-Thread Nano 上线ST CubeMX
3
Nordic移植笔记: RT_Thread v5.1.0(基于Nordic nRF52840的ble_app_hids_mouse工程)
4
RT-Thread PWM设备无输出解决办法
5
关于studio文件构建及宏控制
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
ART-Pi
FinSH
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
rt-smart
FAL
ESP8266
I2C_IIC
WIZnet_W5500
ota在线升级
UART
flash
packages_软件包
cubemx
PWM
freemodbus
BSP
潘多拉开发板_Pandora
定时器
ADC
socket
flashDB
中断
GD32
Debug
编译报错
msh
keil_MDK
rt_mq_消息队列_msg_queue
C++_cpp
at_device
MicroPython
ulog
本月问答贡献
rv666
13
个答案
2
次被采纳
踩姑娘的小蘑菇
9
个答案
2
次被采纳
xiaorui
7
个答案
2
次被采纳
道友
6
个答案
2
次被采纳
三世执戟
5
个答案
2
次被采纳
本月文章贡献
Licy
3
篇文章
1
次点赞
rv666
1
篇文章
7
次点赞
王依依
1
篇文章
5
次点赞
rtt_dmx
1
篇文章
5
次点赞
jaffer
1
篇文章
5
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部