thread = rt_thread_create("T_RTU",
Thread_RTU,
RT_NULL,
2048, //分配堆栈大小
3, //线程的优先级
20); //线程所分配的时间片 当一个线程的优先级独一无二的时候,它的时间片这个参数将失去作用,我们不要认为上面的两个线程运行完 20 个系统 ticks 后就会主动交出 cpu 使用权,当运行完20 个 ticks 后如果它不需等待任何资源,也不主动让出 cpu使用权的话,它还会继续运行,时间片这个参数只在具有相同优先级的线程之间起作用,可是即便如此,这个参数也不能设为 0,因为你不知道后续是否还会创建线程。
本文详细介绍了RT-Thread实时操作系统中线程的创建及调度机制,特别是关于线程优先级与时间片的作用原理。当线程拥有唯一优先级时,时间片参数将不起作用,除非线程主动放弃CPU或等待资源。
2346

被折叠的 条评论
为什么被折叠?



