RTX5 | 内存池04 - 共享内存用于线程之间的通讯(阻塞方式)- 使用信号量
生活随笔
收集整理的這篇文章主要介紹了
RTX5 | 内存池04 - 共享内存用于线程之间的通讯(阻塞方式)- 使用信号量
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 一、前言
- 二、實驗目的
- 三、代碼
- 3.1、main.h
- 3.2、main.c
- 四、Debug
- 4.1、System Analyzer
- 4.2、Debug (printf) Viewer
一、前言
RTX5 | 內存池03 - 共享內存用于線程之間的通訊(輪詢方式)
上一個實驗演示了線程B周期性輪詢共享內存(內含ringbuffer算法)里是否有新的消息讀取,大部分時間都是沒有新消息可以讀取,沒有新消息時,線程B就沒必要運行了。
這一次實驗需要用到信號量,信號量讓線程B進入阻塞態,信號量又可以讓線程B有機會進入運行態。
STM32工程:
鏈接:https://pan.baidu.com/s/1o0xtGXLoMr_jkQieB3n-8w
提取碼:wyti
二、實驗目的
1、創建一個內存池,創建成功后加入ringbuffer算法。
2、創建一個信號量,大小跟內存池所存儲的數據的大小一樣,都是8。
2、線程B一直等待線程A釋放信號量。
3、線程A每往共享內存里寫入一次數據,就釋放一個信號量。
三、代碼
3.1、main.h
3.2、main.c
四、Debug
4.1、System Analyzer
4.2、Debug (printf) Viewer
總結
以上是生活随笔為你收集整理的RTX5 | 内存池04 - 共享内存用于线程之间的通讯(阻塞方式)- 使用信号量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: STM32F407+CubeMX-使用T
- 下一篇: Java学习之连接数据库