完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
一般线程都是以死循环结尾,而main线程的结尾似乎是没有死循环的,入口函数执行完后会发生什么? 这部分申请的内存会回收掉吗? 并且main线程的优先级还不是最高的,在main执行的过程中创建其他线程时,如果创建启动的线程比main线程优先级高,是不是直接就打断了main线程开始执行,这样不会造成线程执行顺序混乱吗?这样设计的思路是什么? |
|
相关推荐
4个回答
|
|
main线程只是一个初始化任务,执行完就回收了。
|
|
|
|
具体是怎么回收的呢?我在main_thread_entry函数中只看到使用了$$super$main去引用main函数,没有看到死循环和rt_thread_delete之类的,而main线程的优先级为max/3,如果在main中初始化其他优先级更高的线程,会被直接抢占掉,这样是不是不合理呢?
|
|
|
|
被抢占,这个合理。
|
|
|
|
rtt 支持自动初始化,另外 main 里面也可以进行一些初始化的操作,如果 main 里面没有 死循环的话,main 运行完之后就会被空闲线程进行资源的回收,你可以使用 ps 看一下,不带死循环的 main 函数 main 函数执行完看不到 main 线程了。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
836 浏览 0 评论
6340 浏览 0 评论
如何使用python调起UDE STK5.2进行下载自动化下载呢?
2836 浏览 0 评论
开启全新AI时代 智能嵌入式系统快速发展——“第六届国产嵌入式操作系统技术与产业发展论坛”圆满结束
3101 浏览 0 评论
获奖公布!2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!
33230 浏览 11 评论
73658 浏览 21 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-4 01:18 , Processed in 1.528463 second(s), Total 80, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号