方法是官方老哥讲的模型,我称之为申请者与审核者。一个线程审核所有全局资源,其他线程申请。
按照这个思路,我以论坛老哥提供的printf做实验,写了几行代码来操作测试。
直接上代码:
多线程printf串口打印测试通过,无乱码。
有两个问题:
1是如果第一个线程申请速度过快,其他所有线程都阻塞,一直是线程1在打印。
2是这样管理全局资源属实太麻烦了,每一个全局资源都需要新增三个变量和两个循环来管理。怎么样才能做成通用锁。
以前都是直接cv代码,没思考过这方面问题,一时半会还想不到办法。
离线
嵌入式os 线程管理方法(链表) 申请、优先级、 注册 、阻塞、注销(硬件线程 和软件线程管理应该一样), 你这位高手肯定能做到
离线
高手
离线
嵌入式os 线程管理方法(链表) 申请、优先级、 注册 、阻塞、注销(硬件线程 和软件线程管理应该一样), 你这位高手肯定能做到
这颗芯片不适合做动态线程管理,有点不尊重芯片特色了。
离线
@海石生风
看来我要找点rtos的代码研究研究了
离线
感谢分享,算是第一个demo了
其实审批者可以给每个申请者计数或者设置优先级,总之软件可以根据具体情况灵活实现
离线
游乐场哥哥 好厉害 mua~:)
离线
“其实审批者可以给每个申请者计数或者设置优先级,总之软件可以根据具体情况灵活实现”。审批者用全局数组(64)标识管理(计数、优先级)。。。。。rtos的一些理念可以用,游乐场加油,等看你的例子 。
离线
互斥锁测试通过,现在以上两个问题可以确认解决。详细见https://whycan.com/t_8639.html/
离线