rt-thread的空闲线程源码分析
来源:互联网 发布:mysql 禁止删除数据 编辑:程序博客网 时间:2024/05/17 23:44
rt-thread的空闲线程在是线程空闲时执行的,它的主要操作是进行“垃圾回收”,这里的“垃圾”是待close掉的线程。
1 空闲线程的实现
在rt-thread线程启运时,系统会初始化空闲线程并启动它:
由上可见,空闲线程的优先级为RT_THREAD_PRIORITY_MAX-1,即用户定义最多优先级-1,也就是最低优先级了。接下来看空闲线程的入口函数:
空闲线程不断是执行rt_thread_idle_excute,其实现如下:
由上述代码可知,空闲线程很大一部分的工作就是回收线程。那么这些线程又是如何而来的呢?
其实在之前文章http://blog.csdn.net/flydream0/article/details/8584362#t5一文的3.1节脱离线程一节中,有如下代码:(3.2节删除线程也类似)
可见,在线程被脱离或删除时,会将线程加入到回收链表rt_thread_defunct中,此链表在scheduler.c源文件中定义,专门用来保存待回收的线程.
0 0
- rt-thread的空闲线程源码分析
- rt-thread的空闲线程源码分析
- rt-thread线程源码分析
- rt-thread线程源码分析
- rt-thread线程调度器源码分析
- rt-thread线程调度器源码分析
- RT-thread内核之空闲线程
- rt-thread的定时器管理源码分析
- rt-thread的moudle源码分析
- rt-thread的定时器管理源码分析
- rt-thread的IO设备管理系统源码分析
- rt-thread的IPC机制之信号量源码分析
- rt-thread的IPC机制之互斥锁源码分析
- rt-thread的IPC机制之事件源码分析
- rt-thread的IPC机制之邮箱源码分析
- rt-thread的IPC机制之消息队列源码分析
- rt-thread装载共享目标文件的过程源码分析
- rt-thread装载可重定位文件的源码分析
- leetcode scramble string
- javascript控制HTML5的全屏操控,浏览器兼容问题
- java生成zip文件打包操作代码(包括解压缩)
- Spring4.X + Spring MVC + Mybatis3 零配置应用开发框架搭建详解 (2) - 基础框架搭建
- mysq'l系列之10.mysql优化&权限控制
- rt-thread的空闲线程源码分析
- const 与#define的异同
- sim900芯片—GPRS使用C语言接电话和收短信应用程序
- jquery对象级别插件的开发
- java反射机制的作用与优点
- Tensorflow学习网址分享
- notepad++ Open containing folder 添加快捷键(打开文件所在的目录).
- HDU-3790 最短路径问题(Dijkstra)
- 用loadrunner实现excel文件下载功能的录制及校验