rt-thread的空闲线程源码分析
rt-thread的空闲线程在是线程空闲时执行的,它的主要操作是进行“垃圾回收”,这里的“垃圾”是待close掉的线程。
1 空闲线程的实现在rt-thread线程启运时,系统会初始化空闲线程并启动它:
//...if (thread->cleanup != RT_NULL)//如果存在线程析构函数 { /* disable interrupt */ lock = rt_hw_interrupt_disable();//关中断 /* insert to defunct thread list *///rt_thread_defunct链表在系统空闲时将被空闲线程来处理 rt_list_insert_after(&rt_thread_defunct, &(thread->tlist));//将线程加入到rt_thread_defunct链表中 /* enable interrupt */ rt_hw_interrupt_enable(lock);//开中断 }//...