您尚未登录。

楼主 # 2022-08-09 00:40:04

游乐场
会员
注册时间: 2022-07-29
已发帖子: 54
积分: 172

【代码分享】一种解决全局资源访问冲突的方法以及两个未解决的问题

方法是官方老哥讲的模型,我称之为申请者与审核者。一个线程审核所有全局资源,其他线程申请。

按照这个思路,我以论坛老哥提供的printf做实验,写了几行代码来操作测试。

直接上代码:
.png
.png
printf.png

多线程printf串口打印测试通过,无乱码。

有两个问题:
1是如果第一个线程申请速度过快,其他所有线程都阻塞,一直是线程1在打印。
2是这样管理全局资源属实太麻烦了,每一个全局资源都需要新增三个变量和两个循环来管理。怎么样才能做成通用锁。

以前都是直接cv代码,没思考过这方面问题,一时半会还想不到办法。

离线

楼主 #4 2022-08-09 11:01:08

游乐场
会员
注册时间: 2022-07-29
已发帖子: 54
积分: 172

Re: 【代码分享】一种解决全局资源访问冲突的方法以及两个未解决的问题

enqying 说:

嵌入式os 线程管理方法(链表) 申请、优先级、 注册 、阻塞、注销(硬件线程 和软件线程管理应该一样),  你这位高手肯定能做到

这颗芯片不适合做动态线程管理,有点不尊重芯片特色了。

离线

楼主 #5 2022-08-09 11:04:55

游乐场
会员
注册时间: 2022-07-29
已发帖子: 54
积分: 172

Re: 【代码分享】一种解决全局资源访问冲突的方法以及两个未解决的问题

@海石生风
看来我要找点rtos的代码研究研究了

离线

楼主 #9 2022-08-16 13:54:16

游乐场
会员
注册时间: 2022-07-29
已发帖子: 54
积分: 172

Re: 【代码分享】一种解决全局资源访问冲突的方法以及两个未解决的问题

互斥锁测试通过,现在以上两个问题可以确认解决。详细见https://whycan.com/t_8639.html/

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn