英亚体育娱乐
你的位置:英亚体育娱乐_y6英亚体育娱乐官网 > y6英亚体育娱乐新闻中心 > y6英亚体育娱乐 RT-Thread 中的多线程

y6英亚体育娱乐 RT-Thread 中的多线程

时间:2022-06-16 13:00 点击:131 次

博主先容y6英亚体育娱乐

RT-Thread线程处理和调养

系统线程

舒坦线程

干线程

线程处理

RT-Thread自动运行化机制

在新线程死字LED

点击平直贵寓领取

博主先容

作家主页:苏州形势大白

作家简介:CSDN人工智能域优质创作家磊,苏州市凯捷智能科技有限公司首创之一,现在合营公司富士康、歌尔等几家新动力公司

淌若著作对你有匡助,迎接海涵、点赞、储藏(一键三连)和C#、Halcon、python+opencv、VUE、各大公司口试等一些订阅专栏哦

有任何问题迎接私信,看到会实时复兴

今年的三星GalaxyS22Ultra,品质及用户体验大家都可以感受到,非常沉稳的造型。深受用户欢迎。为了稳定手机市场,三星将继续发力,三星GalaxyS23Ultra将带来不一样的使用体验。三星的创新能力值得称赞,不少新技术都已经量产,如折叠屏手机、双曲面屏幕、动态刷新率屏幕等等。此次三星GalaxyS23Ultra又将带来许多新技术,无愧于王者机皇的称号。

朝鲜虽然有人使用智能手机,但智能手机普及程度远不及我们。在朝鲜平壤,时而能见到玩手机的时髦女郎,也能见到西装革履的男士拿着智能手机。还有不少年长的老人,拿着带有按键功能老式手机,这种手机屏幕两三寸大,只能用来打电话或发短信。朝鲜使用手机的群体,主要集中在大城市。

RT-Thread线程处理和调养

RT-Thread线程处理的主邀功能是对线程进行处理和调养,系统中统共存在两类线程,鉴别是系统线程和用户线程,系统线程是由RT-Thread内核创建的线程,用户线程是由诈欺形势创建的线程,这两类线程都会从内查对象容器等分拨线程对象,当线程被删除时,也会被从对象容器中删除,如下方图所示,每个线程都有遑急的属性,如线程死字块、线程栈、进口函数等。

RT-Thread的线程调养器是霸占式的,主要的使命等于从就绪线程列表中查找最高优先级线程,保证最高优先级的线程粗略被运行,最高优先级的任务一朝就绪,总能得到CPU的使用权。

当调养器调养线程切换时,先将现时列程凹凸文保存起来,当再切回到这个线程时,线程调养器将该线程的凹凸文信息收复。

线程通过调用函数rt_thread_create/init干预到运办事态(RT_THREAD_INIT);运办事态的线程通过调用函数rt_thread_startup干预到就绪现象(RT_THREAD_READY);就绪现象的线程被调养器调养后干预运办事态(RT_THREAD_RUNNING);当处于运办事态的线程调用rt_thread_delay,rt_sem_take,rt_mutex_take,rt_mb_recv等函数或者获取不到资源时,将干预到挂起现象(RT_THREAD_SUSPEND);处于挂起现象的线程,淌若恭候超时已经未能取得资源或由于其他线程开释了资源,那么它将复返到就绪现象。挂起现象的线程,淌若调用rt_thread_delete/detach函数,将改换为关闭现象(RT_THREAD_CLOSE);而运办事态的线程,淌若运行杀青,就会在线程的终末部分现实rt_thread_exit函数,将现象改换为关闭现象。

系统线程

系统线程是指由系统创建的线程,用户线程是由用户形势调用线程处理接口创建的线程,在RT-Thread内核中的系统线程有舒坦线程和干线程。

msh>list_threadthreadpristatusspstacksizemaxusedlefttickerror---------------------------------------------------------tshell20running0x000000840x0000100012%0x00000004000tidle031ready0x000000440x0000010034%0x0000000a000

舒坦线程

舒坦线程是系统创建的最低优先级的线程,线程现象永久为就绪态。当系统中无其他就绪线程存在时,调养器将调养到舒坦线程,它频繁是一个死轮回,且永久不可被挂起。另外,舒坦线程在RT-Thread也有着它的颠倒用途:

若某线程运行完了,系统将自动删除线程:自动现实rt_thread_exit函数,先将该线程从系统就绪部队中删除,再将该线程的现象改换为关闭现象,不再参与系统调养,然后挂入rt_thread_defunct僵尸部队(资源未回收、处于关闭现象的线程部队)中,终末舒坦线程会回收被删除线程的资源。

舒坦线程也提供了接口来运行用户修复的钩子函数,在舒坦线程运行时会调用该钩子函数,相宜钩入功耗处理、看门狗喂狗等使命。

干线程

在系统启动时,系统会创建main线程,它的进口函数为main_thread_entry,用户的诈欺进口函数main等于从这里信得过首先的,系统调养器启动后,main线程就首先运行,经过如下图,用户不错在main函数里添加我方的诈欺形势运行化代码。

int$Sub$$main(void){rtthread_startup;return0;}

系统启动后先从汇编代码startup_stm32l475xx.s首先运行,然后跳转到C代码现实该代码$Sub$$main.在rthtread_starup中现实了一些启动运行化使命:

intrtthread_startup(void){rt_hw_interrupt_disable;/*板级运行化:需在该函数里面进行系统堆的运行化*/rt_hw_board_init;/*打印RT-Thread版块信息*/rt_show_version;/*定时器运行化*/rt_system_timer_init;/*调养器运行化*/rt_system_scheduler_init;#ifdefRT_USING_SIGNALS/*信号运行化*/rt_system_signal_init;#endif/*由此创建一个用户main线程*/rt_application_init;/*定时器线程运行化*/rt_system_timer_thread_init;/*舒坦线程运行化*/rt_thread_idle_init;/*启动调养器*/rt_system_scheduler_start;/*不会现实至此*/return0;}

这部分启动代码,简洁不错分为四个部分:

1、运行化与系统有关的硬件;

2、运行化系统内查对象,举例定时器、调养器、信号;

3、创建main线程,在main线程中对种种模块步骤进交运行化;

4、运行化定时器线程、舒坦线程,并启动调养器。

在rt_application_init函数创建了干线程。

/*thesystemmainthread*/voidmain_thread_entry(void*parameter){externintmain(void);externint$Super$$main(void);#ifdefRT_USING_COMPONENTS_INIT/*RT-Threadcomponentsinitialization*/rt_components_init;#endif#ifdefRT_USING_SMPrt_hw_secondary_cpu_up;#endif/*invokesystemmainfunction*/#ifdefined(__CC_ARM)y6英亚体育娱乐

为止6月30日收盘,ETF上半年度的事迹收官。本年以来,国泰中证煤炭ETF以31.12%的涨幅夺冠,一只假造本质主题ETF则以29.70%的跌幅名次垫底,首尾事迹差朝上60个百分点。 具体来看,动力主题E

查看更多->

A股2022年上半年行情负责收官y6英亚体育娱乐,瞻望7月各大券商看好哪些投资标的? 限制6月30日中国证券报记者发稿,当前已有至少16家券商发布了其7月月度投资组合,看好的144只A股及港股金

查看更多->

涂鸦的英文名为“Graffiti”,好多人不融会,在莫得“涂鸦”这个娴雅的叫法出现之前,这个词的评释注解是“乱涂乱画”,领先的涂鸦,只可出咫尺不起眼的边际里,比如桥洞、旧屋子、破落

查看更多->
服务热线
官方网站:www.365jz.com
工作时间:周一至周六(09:00-18:00)
联系我们
QQ:2852320325
邮箱:w365jzcom@qq.com
地址:武汉东湖新技术开发区光谷大道国际企业中心
关注公众号

Powered by 英亚体育娱乐_y6英亚体育娱乐官网 RSS地图 HTML地图

y6英亚体育娱乐
英亚体育娱乐_y6英亚体育娱乐官网-y6英亚体育娱乐 RT-Thread 中的多线程

回到顶部