当前位置: 首页 > news >正文

学校网站建设评分标准医疗器械网上采购平台

学校网站建设评分标准,医疗器械网上采购平台,空间怎么做网站,企业网站开发教学视频线程管理 线程管理相关概念什么是时间片轮转调度器锁线程运行机制线程的五种状态 动态和静态创建线程区别动态和静态创建线程优缺点RT-Thread动态线程管理函数动态创建线程动态删除线程 RT-Thread静态线程管理函数静态创建线程 线程其他操作线程启动线程延时获得当前执行的线程…

线程管理

  • 线程管理相关概念
    • 什么是时间片轮转
    • 调度器锁
    • 线程运行机制
    • 线程的五种状态
  • 动态和静态创建线程区别
    • 动态和静态创建线程优缺点
    • RT-Thread动态线程管理函数
      • 动态创建线程
      • 动态删除线程
    • RT-Thread静态线程管理函数
      • 静态创建线程
  • 线程其他操作
    • 线程启动
    • 线程延时
    • 获得当前执行的线程句柄

线程管理相关概念

什么是时间片轮转

时间片轮转主要用于相同优先级的线程,按线程所需时间片大小轮流运行
每个线程都需要配置时间片, 时间片仅对优先级相同的就绪态线程有效, 系统对其进行调度约束线程单次运行时长。
假设有 2 个优先级相同的就绪态线程 A 与 B, A 的时间片为 10, B 的时间片为 5, 那么系统会在A、 B 线程间来回切换执行, 并且每次对 A 线程执行 10 个节拍的时长, 对 B 线程执行 5个节拍的时长。

调度器锁

调度器是操作系统的核心,其主要功能就是实现线程的切换,即从就绪列表里面找到优先级最高的线程,然后去执行该线程。
调度器锁用于部分代码,避免被线程机制抢占

rt_enter_critical(); /* 进入临界区 */
/* 用户把需要上锁的代码放在这里 */
rt_exit_critical(); /* 退出临界区 */

线程运行机制

线程具有独立的栈空间, 当进行线程切换时, 会将当前线程的上下文存在栈中, 当线程要恢复运行时, 再从栈中读取上下文信息, 进行恢复。线程栈还用来存放函数中的局部变量。

线程的五种状态

在这里插入图片描述
在这里插入图片描述

动态和静态创建线程区别

动态创建线程是在运行时才动态创建线程的控制块和堆栈空间
静态创建线程是在编译时就将线程的控制块和堆栈空间预分配好,然后再初始化启动;

动态和静态创建线程优缺点

  1. 动态创建线程优点
    对于非固定的线程(运行过程可以销毁,短暂使用的线程),灵活分配线程内存

  2. 静态创建线程优点
    对于固定线程,不会产生动态内存分配,确保线程创建成功
    创建速度快,用于确认线程的项目可提前发现内存是否不足

RT-Thread动态线程管理函数

动态创建线程

rt_thread_t  rt_thread_create(	const char *name,                  //线程名称void (*entry)(void *parameter),    //线程的入口函数void       *parameter,             //入口函数的参数指针rt_uint32_t stack_size,            //线程堆栈的大小rt_uint8_t  priority,              //线程优先级rt_uint32_t tick)                  //线程调度的时间片大小

创建成功,返回线程句柄;创建失败,返回RT_NULL

动态删除线程

rt_err_t rt_thread_delete(rt_thread_t thread); 

删除线程成功,返回RT_EOK ;删除线程失败,返回-RT_ERROR

RT-Thread静态线程管理函数

静态创建线程

rt_err_t 
rt_thread_init(struct rt_thread *thread,          //线程控制块指针const char       *name,            //线程名称void (*entry)(void *parameter),    //线程的入口函数void             *parameter,       //入口函数的参数指针void             *stack_start,     //线程堆栈的起始地址rt_uint32_t       stack_size,      //线程堆栈的大小rt_uint8_t        priority,        //线程的优先级rt_uint32_t       tick)            //线程调度的时间片大小

在这里插入图片描述

线程其他操作

线程启动

rt_err_t rt_thread_startup(rt_thread_t thread);

线程延时

rt_err_t rt_thread_sleep(rt_tick_t tick); // 以 1 个 OS Tick 为单位
rt_err_t rt_thread_delay(rt_tick_t tick); // 以 1 个 OS Tick 为单位
rt_err_t rt_thread_mdelay(rt_int32_t ms); // 以 ms 为单位

获得当前执行的线程句柄

rt_thread_t rt_thread_self(void);
http://www.yayakq.cn/news/737826/

相关文章:

  • 出口网站平台qq推广的方式有哪几种
  • 内部网站做域名解析到端口大众软件回应中国芯片行业最大投资
  • 新闻门户网站免费建设做网站所需知识
  • 备案做电影网站科技网站制作公司
  • 网站框架搭建设计贞丰县住房和城乡建设局网站
  • 全栈网站开发流行框架网站ui设计素材
  • 郑州网站建设华久深圳市凡客创品科技有限公司
  • 设计素材网站哪个最好免费办公楼网络设计方案
  • 石景山老山网站建设周口网站推广
  • 设计学网站开发公司绩效指标
  • 信息化建设 公司网站wordpress 导出插件
  • 全屏企业网站欣赏2023八月重点新闻事件
  • 秦皇岛网站制作专家教你简单建站网站管理员登陆不了
  • 拼团手机网站开发室内设计师培训班多少钱
  • 沈阳制作网站公司企业网站建设的建站流程解析
  • 温州网站推广怎样学习网站建设
  • iis7站长工具apache网站部署
  • 公司网站非响应式点击量高的网站
  • 公司网站要什么做用html制作购物网站
  • 做证明图片的网站营销策略论文
  • 建设门户网站都需要什么百度医院网站建设
  • 特性设计的网站南昌网站搭建公司 赣ICP
  • 网站开发 ssh 菜鸟详情页生成器
  • 岳阳县住房和城乡建设局网站怎么发布信息到百度
  • 小型网站建设步骤网络公司做网站
  • 什么是网站建设规划书沈阳工程建设招标网
  • 微信网站上传图片企业网站建设方案服务
  • 微信公众号网站开发注意舟山普陀区建设局网站
  • 宿迁558网络专业做网站小米发布会官网
  • 云南省建设执业注册管理中心网站免费的网站有哪些