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

网站联盟平台建站之星和凡科建站哪个系统好

网站联盟平台,建站之星和凡科建站哪个系统好,新企业建网站,怎么用手机做钓鱼软件或者网站空闲线程 空闲线程是一个比较特殊的系统线程#xff0c;它具备最低的优先级。当系统中无其他就绪线程可运行时#xff0c;调度器将调度到空闲线程。 空闲线程还负责一些系统资源回收以及将一些处于关闭态的线程从线程调度列表中移除的动作 空闲线程在形式上是一个无线循环结…空闲线程 空闲线程是一个比较特殊的系统线程它具备最低的优先级。当系统中无其他就绪线程可运行时调度器将调度到空闲线程。 空闲线程还负责一些系统资源回收以及将一些处于关闭态的线程从线程调度列表中移除的动作 空闲线程在形式上是一个无线循环结构且永远不被挂起。 在RT-Thread 实时操作系统中空闲线程向用户提供了钩子函数空闲线程钩子函数可以让系统在空闲的时候执行一些非紧急事务例如系统运行指示灯闪烁 CPU 使用率统计等等。 //设置钩子函数rt_err_t rt_thread_idle_sethook(void (*hook)(void))//删除钩子函数rt_err_t rt_thread_idle_delhook(void (*hook)(void)空闲线程钩子函数示例 #include rtthread.h #include rthw.h#define THREAD_PRIORITY 20 #define THREAD_STACK_SIZE 1024 #define THREAD_TIMESLICE 5 /* 指向线程控制块的指针 */ static rt_thread_t tid RT_NULL; /* 空闲函数钩子函数执行次数 */ volatile static int hook_times 0; /* 空闲任务钩子函数 */ static void idle_hook() {if (0 (hook_times % 10000)){rt_kprintf(enter idle hook %d times.\n, hook_times);}rt_enter_critical();//临界区保护hook_times;rt_exit_critical();//临界区保护 }/* 线程入口 */ static void thread_entry(void *parameter) {int i 5;while (i--){rt_kprintf(enter thread1.\n);rt_enter_critical();hook_times 0;rt_exit_critical();/* 休眠500ms */rt_kprintf(thread1 delay 50 OS Tick.\n, hook_times);rt_thread_mdelay(500);}rt_kprintf(delete idle hook.\n);/* 删除空闲钩子函数 */rt_thread_idle_delhook(idle_hook);rt_kprintf(thread1 finish.\n); }int idle_hook_sample(void) {/* 设置空闲线程钩子 */rt_thread_idle_sethook(idle_hook);/* 创建线程 */tid rt_thread_create(thread1,thread_entry, RT_NULL, THREAD_STACK_SIZE, THREAD_PRIORITY, THREAD_TIMESLICE);if (tid ! RT_NULL)rt_thread_startup(tid);return 0; }/* 导出到 msh 命令列表中 */ MSH_CMD_EXPORT(idle_hook_sample, idle hook sample);运行结果 系统会在线程1执行rt_thread_mdelay(500)时进入空闲线程。 注意空闲线程是一个线程状态永远为就绪态的线程所以钩子函数中执行的相关代码必须保证空闲线程在任何时刻都不会被挂起 例如rt_thread_delay()、 rt_sem_take()等可能会导致线程挂起的阻塞类函数都不能在钩子函数中使用。空闲线程可以设置多个钩子函数。 系统调度钩子函数 #include rtthread.h#define THREAD_STACK_SIZE 1024 #define THREAD_PRIORITY 20 #define THREAD_TIMESLICE 10/* 针对每个线程的计数器 */ volatile rt_uint32_t count[2];/* 线程1、2共用一个入口但入口参数不同 */ static void thread_entry(void* parameter) {rt_uint32_t value;value (rt_uint32_t)parameter;while (1){rt_kprintf(thread %d is running\n, value);rt_thread_mdelay(1000); //延时一段时间} }static rt_thread_t tid1 RT_NULL; static rt_thread_t tid2 RT_NULL;static void hook_of_scheduler(struct rt_thread* from, struct rt_thread* to) {rt_kprintf(from: %s -- to: %s \n, from-name , to-name); }int scheduler_hook(void) { /* 设置调度器钩子 */rt_scheduler_sethook(hook_of_scheduler);/* 创建线程1 */tid1 rt_thread_create(thread1, thread_entry, (void*)1, THREAD_STACK_SIZE, THREAD_PRIORITY, THREAD_TIMESLICE); if (tid1 ! RT_NULL) rt_thread_startup(tid1);/* 创建线程2 */tid2 rt_thread_create(thread2, thread_entry, (void*)2, THREAD_STACK_SIZE, THREAD_PRIORITY,THREAD_TIMESLICE - 5);if (tid2 ! RT_NULL) rt_thread_startup(tid2);return 0; }/* 导出到 msh 命令列表中 */ MSH_CMD_EXPORT(scheduler_hook, scheduler_hook sample);运行结果 可以看到系统的线程调度。 系统的上下文切换是系统运行过程中最普遍的事件 有时用户可能会想知道在某一个时刻发生了什么样的线程切换RT-Thread向用户提供了一个系统调度钩子函数这个钩子函数在系统进行任务切换时运行通过这个钩子函数我们可以了解到系统任务调度时的一些信息。 rt_scheduler_sethook(void (*hook)(struct rt_thread *from, struct rt_thread *to))//系统调度钩子函数
http://www.hkea.cn/news/14569499/

相关文章:

  • 政务网站建设工作计划结尾如何开启wordpress mu
  • 唐山网站建设唐山网络优化工程师有多累
  • 网站建设接单吧网站源码程序修改
  • 中国怎么样做跨境网站wordpress邮件发送下载
  • 怎样能注册自己的网站4399电脑版网页版入口
  • 网站建设公司官网甘肃省住房与建设厅网站
  • 网站通知系统做网站 就上凡科建站
  • wordpress教程 aliyun优化营商环境条例心得体会
  • 网站建设工作小组推进表项目计划书模板范文 完整版
  • 租房网站开发文献综述模板学校网站怎么做
  • asp网站 并发数公司网站做论坛
  • 成都网站营销seo电话wordpress改变上传目录权限
  • 论坛上怎么做网站优化企业型网站开发
  • 男女做暧昧视频网站建模培训
  • 淘宝的网站是怎么做的苏州微网站建设公司哪家好
  • 网站怎么做才能被百度收录手机软件制作平台
  • 网站建设卖手机代码如何优化seo技巧
  • 购物网站排名前100伯才建筑人才网
  • 偃师市住房和城乡建设局网站东莞长安营销型网站建设
  • 商业网站开发实训报告总结济南定制网页设计
  • 石家庄做网站的有哪些公司北京市地铁建设公司网站
  • 上海市企业服务云网站职友集 一家做公司点评的网站
  • 做平行进口的汽车网站注册公司法人年龄要求
  • 文创产品设计大全企业站seo外包
  • 网站播放视频插件做网站的公司怎么做业务
  • 手机端网站怎么做seo网页制作图片链接
  • 萧山网站建设2022年企业所得税税率
  • 福州建设网站的公司做网站如何买量
  • 如何建wap网站做seo时网站更新的目的
  • 微建站平台八大处网站建设