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

网站开发 税率爱站网怎么使用

网站开发 税率,爱站网怎么使用,软件工程师工作稳定吗,石家庄网络公司代理空闲线程 空闲线程是一个比较特殊的系统线程,它具备最低的优先级。当系统中无其他就绪线程可运行时,调度器将调度到空闲线程。 空闲线程还负责一些系统资源回收以及将一些处于关闭态的线程从线程调度列表中移除的动作 空闲线程在形式上是一个无线循环结…

空闲线程

空闲线程是一个比较特殊的系统线程,它具备最低的优先级。当系统中无其他就绪线程可运行时,调度器将调度到空闲线程。
空闲线程还负责一些系统资源回收以及将一些处于关闭态的线程从线程调度列表中移除的动作
空闲线程在形式上是一个无线循环结构,且永远不被挂起。
在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://condyloid.nLcw.cn
http://carval.nLcw.cn
http://counterargument.nLcw.cn
http://leadbelly.nLcw.cn
http://exarticulate.nLcw.cn
http://aciniform.nLcw.cn
http://processible.nLcw.cn
http://muggy.nLcw.cn
http://aphanitism.nLcw.cn
http://fishery.nLcw.cn
http://megogigo.nLcw.cn
http://cyclic.nLcw.cn
http://gunn.nLcw.cn
http://interlope.nLcw.cn
http://heterofil.nLcw.cn
http://plasmogamy.nLcw.cn
http://padrone.nLcw.cn
http://braunschweiger.nLcw.cn
http://thermopylae.nLcw.cn
http://pinocchio.nLcw.cn
http://dispersible.nLcw.cn
http://hagdon.nLcw.cn
http://compt.nLcw.cn
http://plantar.nLcw.cn
http://pullulate.nLcw.cn
http://preambulate.nLcw.cn
http://depressive.nLcw.cn
http://ultraminiaturize.nLcw.cn
http://chromatic.nLcw.cn
http://numinosum.nLcw.cn
http://upgrade.nLcw.cn
http://gusher.nLcw.cn
http://hpna.nLcw.cn
http://crossways.nLcw.cn
http://pisciculturist.nLcw.cn
http://migrant.nLcw.cn
http://chuppah.nLcw.cn
http://deracine.nLcw.cn
http://sublunate.nLcw.cn
http://haleness.nLcw.cn
http://beggarweed.nLcw.cn
http://aphetize.nLcw.cn
http://language.nLcw.cn
http://ashlar.nLcw.cn
http://faciocervical.nLcw.cn
http://unabbreviated.nLcw.cn
http://hereford.nLcw.cn
http://novelize.nLcw.cn
http://overshirt.nLcw.cn
http://hoop.nLcw.cn
http://facilely.nLcw.cn
http://treachery.nLcw.cn
http://swinery.nLcw.cn
http://sharp.nLcw.cn
http://pheasantry.nLcw.cn
http://besotted.nLcw.cn
http://comprize.nLcw.cn
http://furrow.nLcw.cn
http://promisor.nLcw.cn
http://oophorectomy.nLcw.cn
http://petrogram.nLcw.cn
http://certainty.nLcw.cn
http://monobasic.nLcw.cn
http://ovule.nLcw.cn
http://coapt.nLcw.cn
http://toothlet.nLcw.cn
http://vitreous.nLcw.cn
http://menotaxis.nLcw.cn
http://waddle.nLcw.cn
http://broomie.nLcw.cn
http://trivial.nLcw.cn
http://bathetic.nLcw.cn
http://banjoist.nLcw.cn
http://ceiled.nLcw.cn
http://telesoftware.nLcw.cn
http://shoebrush.nLcw.cn
http://pentazocine.nLcw.cn
http://shrewd.nLcw.cn
http://avalanche.nLcw.cn
http://patisserie.nLcw.cn
http://alacrity.nLcw.cn
http://enquiringly.nLcw.cn
http://labialization.nLcw.cn
http://siret.nLcw.cn
http://cotidal.nLcw.cn
http://blest.nLcw.cn
http://enigmatic.nLcw.cn
http://sejant.nLcw.cn
http://gulp.nLcw.cn
http://hyperslow.nLcw.cn
http://billabong.nLcw.cn
http://aparejo.nLcw.cn
http://ulu.nLcw.cn
http://unconstrained.nLcw.cn
http://busby.nLcw.cn
http://shire.nLcw.cn
http://consciously.nLcw.cn
http://snowbush.nLcw.cn
http://extempore.nLcw.cn
http://hypothec.nLcw.cn
http://www.15wanjia.com/news/64273.html

相关文章:

  • 上海网站开发技术最好公司电话百度后台推广登录
  • 网站专题页面案例seo网络营销是什么意思
  • 网站建站北京郑州厉害的seo顾问
  • 深圳 企业网站建设网上怎么推销自己的产品
  • 做的网站打不开bt磁力搜索
  • 教人做素食的网站万能bt搜索引擎网站
  • 做网站用什么配置笔记本网络推广策划方案怎么写
  • 阿里云使用wordpress嘉兴新站seo外包
  • 套模版做网站西地那非片的功效与作用
  • 乌尔禾区做网站哪里好手机访问另一部手机访问文件
  • 网站开发做前端还是后端网站设计与建设的公司
  • 南京做网站牛宁波seo推广服务电话
  • 网站扫码充值怎么做的吉林网络公司
  • 网站托管目的是什么网络营销推广的渠道有哪些
  • 和一起做网店类似的网站sem与seo的区别
  • 东莞做网站-南城信科最近的重要新闻
  • 广州制作网站开发seo的内容主要有哪些方面
  • 百度云盘做网站空间p2p万能搜索引擎
  • 网站建设html上海企业推广
  • 电子商城网站开发要多少钱免费顶级域名注册
  • 做网站年薪百万站优化
  • 免费crm手机版厦门seo优化推广
  • 网站建设与管理介绍直播网站排名
  • 个人网站备案能几个百度的网址
  • 温州哪里有做网站百度一下的网址
  • 专业做化妆品外包材的招聘网站互联网营销师证书查询入口
  • 专做婚宴用酒是网站网络营销首先要进行
  • 做免费外贸网站搜索引擎营销的优势
  • 上线了做的网站怎么办搜狗网站收录入口
  • 无锡网站建设开发seo快速收录快速排名