RTT的内核对象都继承自struct rt_object结构,而内核函数、API函数都会不停的操作对象。如果内核对象没有引用计数机制的话,很有可能出现某个线程在使用对象而对另一个正在删除该对象的线程一无所知。
struct rt_object
所以,我建议为struct rt_object结构增加一个成员,叫“引用计数”,凡是引用到内核对象的函数,都要小心处理引用计数。
还要想一个机制,尽量避免把这么麻烦的事情留给调用API的应用程序。(ucos内核没有涉及到这么棘手的问题,因为它把这么棘手的问题留给应用程序了)
查看更多
内核对象的引用计数,这个东西不容易处理好呢
什么时候这个计数+1?什么时候这个计数-1?清到零然后如何处理?rt_object作为系统中的基对象,越轻型越好,所以这些东西还是给应用程序处理吧。从STM32 Radio来看,目前的功能基本上是够用的
欢迎发表与嵌入式相关的技术分享、开发技巧、工具介绍、技术设想、职业心得、行业评论等对他人有启发,排版优雅的文章
回到 顶部
发布 问题
分享 好友
手机 浏览
投诉 建议
回到 底部