从源码深入接触ThreadX(2) --- 选择一个API
上一篇,大致介绍了ThreadX和怎么获得它的源带码。这一篇,我想大致浏览一下源代码目录并找到一个合适的阅读切入点。
展开common\src目录,总共有185个文件,这可真够吓人的,要知道freeRTOS核心代码就那么4,5个文件。但不要被这个数量吓倒了,ThreadX采用一个API一个文件的形式对于源码进行组织,因此,每个文件都很小,只完成一个包含一个API的实现,从文件名上我们可以看到这一点。
ThreadX的文件名由三部分组成:
1. 固定头tx代表ThreadX;
2. 模块名,比如block_pool, byte_pool, mutex, queue, semaphore, thread等等;这些模块在freeRTOS中基本都能找到对应的概念,可见RTOS这个领域还是大量共同的地方;
3. API, 比如create,delete,change,activate等等。
现在要选一个API来作为我们的起点,我想选一个自己认为比较重要模块的一个基础API作为起点。我选择了Thread模块的create这个API,从名字上看,这个API应该是实现了线程创建的功能。线程应该就是FreeRTOS中Task的概念吧,但也不一定,需要深入代码去了解一下。下一篇我们就深入这个API,看看ThreadX到底有何高明之处。
从源码深入接触ThreadX(2) --- 选择一个API相关推荐
- 从源码深入接触ThreadX(1) --- 了解ThreadX
前几天在翻看微信公众号时,意外发现ThreadX已经开源.通过了解,原来ThreadX的开发公司Express Logic在2019年4月被微软收购.经过了1年多的准备,微软将ThreadX包装成了a ...
- Hbase Compaction 源码分析 - CompactSplitThread 线程池选择
目录 CompactSplitThread requestCompactionInternal方法 selectCompaction方法 requestCompaction方法 其他相关文章 Hbas ...
- 拼团小程序源码_纯小白如何做一个摄影电商拼团小程序?
过去,摄影行业都是线下实体店为主,宣传手段单一.推广效率差,客户复购率更是不怎样.随着微信小程序的出现,各个摄影行业商家开始通过小程序来进行推广,连接线上线下场景,这样便能触达更多消费者. 小程序拥有 ...
- 老李推荐: 第3章2节《MonkeyRunner源码剖析》脚本编写示例: MonkeyDevice API使用示例 1...
老李推荐: 第3章2节<MonkeyRunner源码剖析>脚本编写示例: MonkeyDevice API使用示例 上一节我们学习了如何通过MonkeyRunner这个类的静态方法wait ...
- 最小的linux内核代码,带你阅读linux内核源码:下载源码、编译内核并运行一个最小系统...
要学习linux内核,先要能够编译内核,还需要了解内核如何启动根文件系统.这样你才能在修改linux内核代码之后,完成验证的过程. 本文教你完成下列过程: 1.下载linux并编译linux内核源码 ...
- 老李推荐:第3章3节《MonkeyRunner源码剖析》脚本编写示例: MonkeyImage API使用示例 1...
老李推荐:第3章3节<MonkeyRunner源码剖析>脚本编写示例: MonkeyImage API使用示例 在上一节的第一个"增加日记"的示例中,我们并没有看到日记 ...
- 12.源码阅读(app启动流程-android api 26)
activity的启动流程之前已经通过源码了解了,那么app的启动流程是怎样的,从我们按下app的图标,到应用启动起来显示出画面,中间都经历了什么? 安卓是基于java的,所以和java有一定的相似性 ...
- 爷青回!最近很火的朋友圈怀旧小电视源码来啦!看到最后一个视频我大呼好家伙!
原文首发于公众号:[golang小白成长记] 爷青回!最近很火的朋友圈怀旧小电视源码来啦!看到最后一个视频我大呼好家伙! 体验一把怀旧小电视 最近朋友圈被怀旧小电视刷爆啦! 点开来,是一台老式电视机! ...
- java qq聊天界面_【附源码】用Java写了一个类QQ界面聊天小项目,可在线聊天!...
原标题:[附源码]用Java写了一个类QQ界面聊天小项目,可在线聊天! 目录: 1.功能实现 2.模块划分 3.使用到知识 4.部分代码实现 5.运行例图 1.功能实现 1.修改功能(密码.昵称.个性 ...
最新文章
- CentOS下Redis安装配置小结
- 学习笔记94—所有用过SCI-hub的科研工作者都应该知道的事
- 解决:RuntimeError: CUDA out of memory. Tried to allocate 2.00 MiB
- 1097 Deduplication on a Linked List (25 分)_35行代码AC
- bzoj 4393 Usaco Fruit Feast
- 【Hbase】HBase的shell命令总结
- 压力校准仪器开发之日--2017-10-31
- KVM系列之硬件管理
- Hadoop学习笔记(五):MapReduce的类型与格式
- WebView交互架构项目实战(三)(1),老罗android开发视频教程
- 企业运营管理体系是什么?
- 数据分析之RFM——用户模型分析(附案例数据和代码)
- Markdown详细教程+技巧总结
- Codeforces 1398 F. Controversial Rounds —— 线段树+dp
- 写过的比较难受的题目
- 服务器文件夹怎么找回来,文件过期了怎么恢复(教你一招找回微信过期文件)...
- 技术控 | 自然语言技术在文智趋势分析产品上的应用
- ubuntu1804 安装PCL
- 培训班出身的前端,出路在哪儿?
- mysql 怎么表示正无穷_C语言中正无穷大怎么表示
热门文章
- 集合操作 - 字典的近亲
- 小数点用计算机怎么用,计算机如何精确到小数点后一百位
- 在这个特殊的日子里,我用最真挚的心意,为母亲送上了最温暖的祝福。
- android.view.InflateException: Binary XML file line(报错日志要从下往上看)
- 2019纪中暑期(9-3=6)天期末考试 总结
- Java springboot+vue生成报纸排版页面的新闻官网
- windwos 查看进程详细信息
- 大专程序员毕业五年税后18K,想进BAT,网友:吃shi都赶不上热的
- 登入註冊頁面(Login/Signup)
- Python:打包配置文件 setup.py 详解