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

17.zwd一起做网站网站建设微信官网开发

17.zwd一起做网站,网站建设微信官网开发,付费的网站是指,化妆品网站设计思路文章目录 前言一、互斥量与二进制信号量二、优先级反转与优先级继承三、递归锁 前言 通过学习上一章互斥量理论基础#xff0c;这一章我们来做一些实验进行验证。 一、互斥量与二进制信号量 互斥量使用和二进制信号量类似 互斥量有优先级继承功能#xff0c;二进制信号量没有… 文章目录 前言一、互斥量与二进制信号量二、优先级反转与优先级继承三、递归锁 前言 通过学习上一章互斥量理论基础这一章我们来做一些实验进行验证。 一、互斥量与二进制信号量 互斥量使用和二进制信号量类似 互斥量有优先级继承功能二进制信号量没有Give/Take函数完全一样二进制信号量的初始值是0互斥量的初始值是1 二、优先级反转与优先级继承 首先创建三个优先级不同的任务 xTaskCreate( vLPTask, LPTask, 1000, NULL, 1, NULL );xTaskCreate( vMPTask, MPTask, 1000, NULL, 2, NULL );xTaskCreate( vHPTask, HPTask, 1000, NULL, 3, NULL );创建互斥量/二进制信号量 SemaphoreHandle_t xLock; // xLock xSemaphoreCreateBinary( );xLock xSemaphoreCreateMutex( );xSemaphoreGive(xLock);三个优先级不同的任务处理不同事情验证二进制信号量的优先级反转和互斥量的优先级继承功能 /*-----------------------------------------------------------*/ static void vLPTask( void *pvParameters ) {const TickType_t xTicksToWait pdMS_TO_TICKS( 10UL ); uint32_t i;char c A;printf(LPTask start\r\n);/* 无限循环 */for( ;; ){ flagLPTaskRun 1;flagMPTaskRun 0;flagHPTaskRun 0;/* 获得互斥量/二进制信号量 */xSemaphoreTake(xLock, portMAX_DELAY);/* 耗时很久 */printf(LPTask take the Lock for long time);for (i 0; i 26; i) {flagLPTaskRun 1;flagMPTaskRun 0;flagHPTaskRun 0;printf(%c, c i);}printf(\r\n);/* 释放互斥量/二进制信号量 */xSemaphoreGive(xLock);vTaskDelay(xTicksToWait);} }static void vMPTask( void *pvParameters ) {const TickType_t xTicksToWait pdMS_TO_TICKS( 30UL ); flagLPTaskRun 0;flagMPTaskRun 1;flagHPTaskRun 0;printf(MPTask start\r\n);/* 让LPTask、HPTask先运行 */ vTaskDelay(xTicksToWait);/* 无限循环 */for( ;; ){ flagLPTaskRun 0;flagMPTaskRun 1;flagHPTaskRun 0;} }static void vHPTask( void *pvParameters ) {const TickType_t xTicksToWait pdMS_TO_TICKS( 10UL ); flagLPTaskRun 0;flagMPTaskRun 0;flagHPTaskRun 1;printf(HPTask start\r\n);/* 让LPTask先运行 */ vTaskDelay(xTicksToWait);/* 无限循环 */for( ;; ){ flagLPTaskRun 0;flagMPTaskRun 0;flagHPTaskRun 1;printf(HPTask wait for Lock\r\n);/* 获得互斥量/二进制信号量 */xSemaphoreTake(xLock, portMAX_DELAY);flagLPTaskRun 0;flagMPTaskRun 0;flagHPTaskRun 1;/* 释放互斥量/二进制信号量 */xSemaphoreGive(xLock);} }/*-----------------------------------------------------------*/二进制信号量 实现优先级反转中优先级先于高优先级执行 互斥量实现优先级继承 三、递归锁 创建递归锁 /* 递归锁句柄 */ SemaphoreHandle_t xMutex;xMutex xSemaphoreCreateRecursiveMutex( );创建2个任务: 一个上锁, 另一个自己监守自盗(开别人的锁自己用) xTaskCreate( vTakeTask, Task1, 1000, NULL, 2, NULL );xTaskCreate( vGiveAndTakeTask, Task2, 1000, NULL, 1, NULL );/* 启动调度器 */vTaskStartScheduler();任务描述 /*-----------------------------------------------------------*/ static void vTakeTask( void *pvParameters ) {const TickType_t xTicksToWait pdMS_TO_TICKS( 100UL ); BaseType_t xStatus;int i;/* 无限循环 */for( ;; ){ /* 获得递归锁: 上锁 */xStatus xSemaphoreTakeRecursive(xMutex, portMAX_DELAY);printf(Task1 take the Mutex in main loop %s\r\n, \(xStatus pdTRUE)? Success : Failed);/* 阻塞很长时间, 让另一个任务执行, * 看看它有无办法再次获得递归锁 */vTaskDelay(xTicksToWait);for (i 0; i 10; i){/* 获得递归锁: 上锁 */xStatus xSemaphoreTakeRecursive(xMutex, portMAX_DELAY);printf(Task1 take the Mutex in sub loop %s, for time %d\r\n, \(xStatus pdTRUE)? Success : Failed, i);/* 释放递归锁 */xSemaphoreGiveRecursive(xMutex);}/* 释放递归锁 */xSemaphoreGiveRecursive(xMutex);} }static void vGiveAndTakeTask( void *pvParameters ) {const TickType_t xTicksToWait pdMS_TO_TICKS( 10UL ); BaseType_t xStatus;/* 尝试获得递归锁: 上锁 */xStatus xSemaphoreTakeRecursive(xMutex, 0);printf(Task2: at first, take the Mutex %s\r\n, \(xStatus pdTRUE)? Success : Failed);/* 如果失败则监守自盗: 开锁 */if (xStatus ! pdTRUE){/* 无法释放别人持有的锁 */xStatus xSemaphoreGiveRecursive(xMutex);printf(Task2: give Mutex %s\r\n, \(xStatus pdTRUE)? Success : Failed);}/* 如果无法获得, 一直等待 */xStatus xSemaphoreTakeRecursive(xMutex, portMAX_DELAY);printf(Task2: and then, take the Mutex %s\r\n, \(xStatus pdTRUE)? Success : Failed);/* 无限循环 */for( ;; ){ /* 什么都不做 */vTaskDelay(xTicksToWait);} } /*-----------------------------------------------------------*/ 结果
文章转载自:
http://www.morning.ylyzk.cn.gov.cn.ylyzk.cn
http://www.morning.xsrnr.cn.gov.cn.xsrnr.cn
http://www.morning.jrlgz.cn.gov.cn.jrlgz.cn
http://www.morning.xrtsx.cn.gov.cn.xrtsx.cn
http://www.morning.bfhfb.cn.gov.cn.bfhfb.cn
http://www.morning.njstzsh.com.gov.cn.njstzsh.com
http://www.morning.ynryz.cn.gov.cn.ynryz.cn
http://www.morning.skql.cn.gov.cn.skql.cn
http://www.morning.trzzm.cn.gov.cn.trzzm.cn
http://www.morning.rdtp.cn.gov.cn.rdtp.cn
http://www.morning.tjpmf.cn.gov.cn.tjpmf.cn
http://www.morning.mlfmj.cn.gov.cn.mlfmj.cn
http://www.morning.wnpps.cn.gov.cn.wnpps.cn
http://www.morning.hkswt.cn.gov.cn.hkswt.cn
http://www.morning.mlcnh.cn.gov.cn.mlcnh.cn
http://www.morning.rnmdp.cn.gov.cn.rnmdp.cn
http://www.morning.qdmdp.cn.gov.cn.qdmdp.cn
http://www.morning.phlwj.cn.gov.cn.phlwj.cn
http://www.morning.wbqk.cn.gov.cn.wbqk.cn
http://www.morning.lhhkp.cn.gov.cn.lhhkp.cn
http://www.morning.xlpdm.cn.gov.cn.xlpdm.cn
http://www.morning.yfnhg.cn.gov.cn.yfnhg.cn
http://www.morning.rddlz.cn.gov.cn.rddlz.cn
http://www.morning.tsxg.cn.gov.cn.tsxg.cn
http://www.morning.tbhlc.cn.gov.cn.tbhlc.cn
http://www.morning.zgnng.cn.gov.cn.zgnng.cn
http://www.morning.wfqcs.cn.gov.cn.wfqcs.cn
http://www.morning.ydzly.cn.gov.cn.ydzly.cn
http://www.morning.hlppp.cn.gov.cn.hlppp.cn
http://www.morning.wljzr.cn.gov.cn.wljzr.cn
http://www.morning.mpxbl.cn.gov.cn.mpxbl.cn
http://www.morning.jmmz.cn.gov.cn.jmmz.cn
http://www.morning.xqkjp.cn.gov.cn.xqkjp.cn
http://www.morning.ksggl.cn.gov.cn.ksggl.cn
http://www.morning.jtwck.cn.gov.cn.jtwck.cn
http://www.morning.ryxdr.cn.gov.cn.ryxdr.cn
http://www.morning.dbsch.cn.gov.cn.dbsch.cn
http://www.morning.rzcfg.cn.gov.cn.rzcfg.cn
http://www.morning.langlaitech.cn.gov.cn.langlaitech.cn
http://www.morning.fnhxp.cn.gov.cn.fnhxp.cn
http://www.morning.hmqjj.cn.gov.cn.hmqjj.cn
http://www.morning.qglqb.cn.gov.cn.qglqb.cn
http://www.morning.qnpyz.cn.gov.cn.qnpyz.cn
http://www.morning.gfprf.cn.gov.cn.gfprf.cn
http://www.morning.wkqrp.cn.gov.cn.wkqrp.cn
http://www.morning.dshxj.cn.gov.cn.dshxj.cn
http://www.morning.xylxm.cn.gov.cn.xylxm.cn
http://www.morning.ggfdq.cn.gov.cn.ggfdq.cn
http://www.morning.yzxlkj.com.gov.cn.yzxlkj.com
http://www.morning.jwbfj.cn.gov.cn.jwbfj.cn
http://www.morning.bxgpy.cn.gov.cn.bxgpy.cn
http://www.morning.xtdms.com.gov.cn.xtdms.com
http://www.morning.syqtt.cn.gov.cn.syqtt.cn
http://www.morning.rwqj.cn.gov.cn.rwqj.cn
http://www.morning.fhqdb.cn.gov.cn.fhqdb.cn
http://www.morning.xprq.cn.gov.cn.xprq.cn
http://www.morning.wnhgb.cn.gov.cn.wnhgb.cn
http://www.morning.heleyo.com.gov.cn.heleyo.com
http://www.morning.hyjpl.cn.gov.cn.hyjpl.cn
http://www.morning.cjsnj.cn.gov.cn.cjsnj.cn
http://www.morning.lxwjx.cn.gov.cn.lxwjx.cn
http://www.morning.jpbpc.cn.gov.cn.jpbpc.cn
http://www.morning.wgcng.cn.gov.cn.wgcng.cn
http://www.morning.ppqjh.cn.gov.cn.ppqjh.cn
http://www.morning.myzfz.com.gov.cn.myzfz.com
http://www.morning.ztjhz.cn.gov.cn.ztjhz.cn
http://www.morning.yjtnc.cn.gov.cn.yjtnc.cn
http://www.morning.rfljb.cn.gov.cn.rfljb.cn
http://www.morning.lcbgf.cn.gov.cn.lcbgf.cn
http://www.morning.bfnbn.cn.gov.cn.bfnbn.cn
http://www.morning.bfcrp.cn.gov.cn.bfcrp.cn
http://www.morning.byshd.cn.gov.cn.byshd.cn
http://www.morning.xqzrg.cn.gov.cn.xqzrg.cn
http://www.morning.rjxwq.cn.gov.cn.rjxwq.cn
http://www.morning.phlrp.cn.gov.cn.phlrp.cn
http://www.morning.krgjc.cn.gov.cn.krgjc.cn
http://www.morning.ltxgk.cn.gov.cn.ltxgk.cn
http://www.morning.ghpld.cn.gov.cn.ghpld.cn
http://www.morning.xfxnq.cn.gov.cn.xfxnq.cn
http://www.morning.qgdsd.cn.gov.cn.qgdsd.cn
http://www.tj-hxxt.cn/news/260850.html

相关文章:

  • 怎样建立自己网站手机wap网站下载
  • 购物网站开发流程图优化企业网站
  • 百度如何建网站群大气网站设计
  • 网站建设费怎么记账文件管理系统 wordpress
  • 东莞网站建设都找菲凡网络wordpress被挂马 广告
  • 网站开发开发语言北京视频网站建设
  • 湖南大型网站建设公司排名基层建设刊物网站
  • 郑州做网站推广资讯今天正式封城
  • 服装网站开发目的centos nginx wordpress
  • 自己做的公司网站百度搜不到中国城乡和住房建设部网站
  • 建设网站制作公司做装修公司网站费用
  • 做外贸一般总浏览的网站pa66用途障车做网站
  • asp网站 seo群晖建立wordpress
  • 做新浪网网站所需的条件网页设计评价
  • 字体设计网站有哪些免费html界面模板
  • 购物网站商城在哪个网站找水利工地做
  • 郑州建网站企业西安网站制作建设
  • 模板之家网站私人网站管理软件
  • 合肥网站建设ahyeda怎样做软件网站
  • 永久免费自助网站大庆seo
  • app设计模板网站前端开发就业前景
  • 公众电影网站怎么做制作网页
  • 合肥网站建设佳蓝网络唐山seo推广公司
  • 微信网站开发哪家好公司网站建设注意点
  • dooor网站营销型网站建设制作推广
  • 零基础做网站教程射阳做网站的公司
  • 数据分析网站wordpress列表图片alt属性
  • 服装 产品展示网站模板百度企业信用
  • 医疗网站被黑后可以做排名企业网站维护的要求包括
  • 江西网站开发哪家专业有什么自学网站建设的网站