日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

RTX5 | 内存池03 - 共享内存用于线程之间的通讯(轮询方式)

發布時間:2025/3/15 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 RTX5 | 内存池03 - 共享内存用于线程之间的通讯(轮询方式) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一、前言
    • 怎樣防止內存溢出?
  • 二、實驗目的
  • 三、代碼
    • 3.1、main.h
    • 3.2、main.c
  • 四、Debug
    • 4.1、Debug (printf) Viewer
    • 4.2、修改一下程序:線程B不從ringbuffer讀取數據,線程A不斷往ringbuffer寫入數據

一、前言


正如官方介紹所說,共享內存是線程與線程(或ISR)之間通訊的一種基本的模型。而且,當線程與線程之間的通訊使用共享內存時,相比消息隊列有更高的通訊效率,更復雜的通訊結構。

有了共享內存之后,并不是說消息隊列毫無用處之地了。消息隊列使用起來簡單,并提供阻塞線程的功能。實際工作上,如果不講究效率的話,盡量用消息隊列吧,它即簡單又強大又安全。

雖然,內存池解決了線程安全與內存碎片化的問題,但是并沒有解決內存溢出的問題。在《嵌入式實時操作系統 uc/OS-III 》第17章-存儲管理有講到。

怎樣防止內存溢出?

為了解決內存溢出問題,需要使用另外一個強大的數據結構與算法-ringbuffer算法。我認為學習嵌入式軟件設計,必須學會如何使用ringbuffer算法。在實際工作中,我到處都用了ringbuffer算法。

ringbuffer算法的介紹可以看博主Mculover666的博文《ringbuffer | 通用FIFO環形緩沖區實現庫》 :

其實,上面的ringbuffer算法比較完整且復雜。我一直使用正點原子項目上精簡版的ringbuffer算法,暫時沒有發現任何問題,大家可以從工程里下載。

STM32工程:
鏈接:https://pan.baidu.com/s/149P8nuSoXNWenEc479iYIQ
提取碼:1hj5

二、實驗目的


創建一個內存池,作為線程A與線程B通訊使用的共享內存,線程A每隔1s往共享內存里寫入數據,線程B每隔300ms輪詢一次共享內存是否有新數據。

三、代碼


3.1、main.h

3.2、main.c




四、Debug


4.1、Debug (printf) Viewer

4.2、修改一下程序:線程B不從ringbuffer讀取數據,線程A不斷往ringbuffer寫入數據

線程A的不斷寫入,且線程B沒有讀取數據,會不會引起內存溢出??首先將線程B的部分代碼備注掉,備注掉這些代碼,線程B實際沒有什么事情干。

創建ringbuffer的時候,已經往ringbuffer寫入一個數據,所以接下來只能寫入7個數據。

此時,觀察一下ringbuffer對象的數據看看。

寫入數據的指針在0x0007的位置(這段共享內存的大小是8,從0x0000開始,實際上0x00007就是第八個位置了。)

在寫入數據方面,ringbuffer算法提供了內存滿了的提示,防止寫入數據引起內存溢出。在讀取數據方面,ringbuffer算法提供了沒有信息可以讀取的提示,防止讀取數據引起內存溢出。

總結

以上是生活随笔為你收集整理的RTX5 | 内存池03 - 共享内存用于线程之间的通讯(轮询方式)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧洲精品一区 | 97超碰自拍 | 日韩精品麻豆 | 国产又大又粗又爽的毛片 | 国产美女永久无遮挡 | 日韩av在线播放不卡 | 欧美成人生活片 | 爱福利视频一区 | av夜夜 | 欧美精品免费播放 | 欧美性生活一区二区 | 美日韩免费视频 | 少妇又紧又爽视频 | 波多野结衣精品视频 | 在线不欧美 | 在线看片你懂得 | 亚洲av日韩av永久无码下载 | 天天爽 | 美女视频久久久 | 日本网站免费观看 | 九九在线免费视频 | 国产高清精品软件丝瓜软件 | 日韩成人av一区二区 | 国产乱国产乱300精品 | 日韩一区二区三区免费 | 亚洲男人的天堂网站 | 福利视频h | 日韩精品在线免费 | 亚洲一级在线播放 | 亚洲最黄网站 | 国产 欧美 精品 | 美女爽爽爽| 一级片视频免费看 | 国产美女被遭强高潮免费网站 | 伊人久久艹| 日本狠狠爱 | 亚洲视频精品在线 | 日本无翼乌邪恶大全彩h | 无码精品a∨在线观看中文 福利片av | 成人高清视频免费观看 | 内谢少妇xxxxx8老少交视频 | 超91在线 | 夜夜高潮夜夜爽 | 激情五月婷婷色 | 青青草免费观看视频 | 免费三片60分钟 | 网红av在线 | 国产精品16p| 欧美色欧美色 | 视频久久 | 在线看片a| 我的丝袜美腿尤物麻麻 | 久久人人爽人人爽人人 | 久久国产免费 | wwwxx日本| 亚洲瑟瑟| 欧美区国产区 | 国产精品自拍视频一区 | 成av人在线观看 | 午夜看片福利 | 无码人妻av一区二区三区波多野 | 东方成人av在线 | 在线v| 国产五区| 国产在线视频卡一卡二 | 免费在线日韩 | 国产欧美精品一区二区 | 国产午夜精品久久久久 | 在线成人一区 | 少妇熟女高潮流白浆 | 亚洲三级大片 | 黄色片一区二区 | 人成在线| 91aaaa| 国产高中女学生第一次 | 久久香蕉影院 | 成人在线一区二区三区 | 精品乱码一区二区三四区视频 | 亚洲成av人片在www色猫咪 | 免费一区二区 | 午夜视频1000| 亚洲伦理一区 | 俺去操 | 波多野吉衣在线视频 | 国毛片 | 国产日产精品一区二区三区 | 日本www在线 | 国产天天射 | 国产中文字幕亚洲 | 99自拍| 做视频| 色老头综合网 | ,午夜性刺激免费看视频 | av东方在线| av成人亚洲 | 久久av网站 | 最新av网站在线观看 | 国产农村老头老太视频 | 日日碰狠狠躁久久躁蜜桃 |