【RT-Thread学习笔记 4】线程让出实验
来源:互联网 发布:邀请函app制作软件 编辑:程序博客网 时间:2024/06/05 15:55
API: rt_thread_yield
线程函数中调用,本线程释放MCU。如果此时有别的相同优先级的任务整处于等待状态,将获得MCU使用权。
线程让出就是给OS增加一个任务调度的机会。
创建两个线程,观察他们的结果:
//线程让出试验void yield_test1(void* parameter){ rt_uint32_t count = 0; while(1) { rt_kprintf("thread test1 count:%d\n",count++); rt_thread_yield(); }}void yield_test2(void* parameter){ rt_uint32_t count = 0; while(1) { rt_kprintf("thread test2 count:%d\n",count++); rt_thread_yield(); }}
启动他们:
//线程让出实验,两个线程优先级一样。否则在给一次调度机会也是高优先级的任务使用MCU tid2 = rt_thread_create("yield1",yield_test1,RT_NULL,2048,10,5); if(tid2 != RT_NULL) rt_thread_startup(tid2); tid2 = rt_thread_create("yield2",yield_test2,RT_NULL,2048,10,5); if(tid2 != RT_NULL) rt_thread_startup(tid2);
看见两个线程轮流输出:
\ | /
- RT - Thread Operating System
/ | \ 2.0.0 build Aug 29 2014
2006 - 2013 Copyright by rt-thread team
thread test1 count:0
thread test2 count:0
thread test1 count:1
thread test2 count:1
thread test1 count:2
thread test2 count:2
thread test1 count:3
thread test2 count:3
thread test1 count:4
thread test2 count:4
thread test1 count:5
thread test2 count:5
……..
如果没有线程让出的操作,情况将是等一个线程时间片结束之后,才会轮到另一个线程输出。不会是轮流输出了
0 0
- 线程让出实验【RT-Thread学习笔记 4】
- 【RT-Thread学习笔记 4】线程让出实验
- 线程优先级抢占实验【RT-Thread学习笔记 3】
- 【RT-Thread学习笔记 3】线程优先级抢占实验
- RT-Thread的线程(任务)处理【RT-Thread学习笔记 2】
- 【RT-Thread学习笔记 2】RT-Thread的线程(任务)处理
- rt-thread学习笔记开篇
- 优先级反转实验,使用信号量实现【RT-Thread学习笔记 5】
- 【RT-Thread学习笔记 5】优先级反转实验,使用信号量实现
- STM32 + RT Thread OS 学习笔记[一]
- STM32 + RT Thread OS 学习笔记[二]
- STM32 + RT Thread OS 学习笔记[三]
- STM32 + RT Thread OS 学习笔记[四]
- STM32 + RT Thread OS 学习笔记[五]
- STM32 + RT Thread OS 学习笔记[六]
- STM32 + RT Thread OS 学习笔记[七]
- rt-thread学习笔记(一)-开发环境
- RT-Thread 学习笔记(二)---线程创建及任务间通信之中断锁
- document.getelementbyid('id') 和 $('#id')的区别
- Struts1与Struts2的12点区别
- MySQL页以及每秒读写量评估的疑问
- 对系统需求分析的一点看法
- Android四大组件之ContentProvider(上)
- 【RT-Thread学习笔记 4】线程让出实验
- xUtils3.0版本的发送同步网络请求的方式
- java入门第一季_1.1_java介绍
- Mybatis知识总结(三)
- C++设计模式-Adapter适配器模式
- 防淘宝详情页 自动分页滑动
- iOS学习之——UITableView详解
- Activity的生命周期
- 【RT-Thread学习笔记 5】优先级反转实验,使用信号量实现