RT-Thread 中 rt_thread_yield 和 rt_schedule 的区别
rt_thread_yield 和 rt_schedule 都是实时操作系统 RT-Thread 中的函数,但是它们的作用和使用方式有所不同。
-
rt_thread_yield:
- 作用:将当前正在运行的线程主动放弃 CPU 的执行权,让出 CPU 给其他线程运行。
- 使用方式:在线程中调用 'rt_thread_yield()' 函数即可。
-
rt_schedule:
- 作用:用于在一个线程的上下文中,强制切换到另一个线程的上下文中运行。
- 使用方式:通常情况下,不需要直接调用 'rt_schedule()' 函数,而是通过其他函数间接调用,比如通过 'rt_thread_delay()' 函数或者在中断处理函数中调用 'rt_schedule()' 函数。
总结:
- 'rt_thread_yield()' 是线程主动放弃 CPU 执行权的函数,可以在线程中随时调用;
- 'rt_schedule()' 是强制进行线程切换的函数,一般由其他函数间接调用,比如延时函数或中断处理函数。
需要注意的是,'rt_thread_yield()' 是一个线程的主动操作,而 'rt_schedule()' 是系统的调度操作,需要谨慎使用。
原文地址: https://www.cveoy.top/t/topic/bEhk 著作权归作者所有。请勿转载和采集!