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

建设路21号官方网站网站后台如何添加附件

建设路21号官方网站,网站后台如何添加附件,快速做网站服务好,上海最有钱的公司互斥量(Mutex) 互斥量又称互斥信号量(本质也是一种信号量,不具备传递数据功能),是一种特殊的二值信号量,它和信号量不同的是,它支持互斥量所有权、递归访问以及防止优先级翻转的特性…

互斥量(Mutex)

互斥量又称互斥信号量(本质也是一种信号量,不具备传递数据功能),是一种特殊的二值信号量,它和信号量不同的是,它支持互斥量所有权、递归访问以及防止优先级翻转的特性。比如有两个任务,A在运行,B就运行不了。

实验:创建三个任务,从高到低设置优先级,在任务一和三中使用互斥量,观察执行顺序。

实现:在【STM32】FreeRTOS消息队列和信号量学习基础上进行修改

d4ea330caa814e4f92766c07264f9c4f.png

9c2930c618e342f5aee425657b9a7fc9.png

void MX_FREERTOS_Init(void) {/* USER CODE BEGIN Init *//* USER CODE END Init *//* Create the mutex(es) *//* definition and creation of Mutex01 */osMutexDef(Mutex01);Mutex01Handle = osMutexCreate(osMutex(Mutex01));/* USER CODE BEGIN RTOS_MUTEX *//* add mutexes, ... *//* USER CODE END RTOS_MUTEX *//* Create the semaphores(s) *//* USER CODE BEGIN RTOS_SEMAPHORES *//* add semaphores, ... *//* USER CODE END RTOS_SEMAPHORES *//* USER CODE BEGIN RTOS_TIMERS *//* start timers, add new ones, ... *//* USER CODE END RTOS_TIMERS *//* USER CODE BEGIN RTOS_QUEUES *//* add queues, ... *//* USER CODE END RTOS_QUEUES *//* Create the thread(s) *//* definition and creation of Task1 */osThreadDef(Task1, StartDefaultTask, osPriorityHigh, 0, 128);Task1Handle = osThreadCreate(osThread(Task1), NULL);/* definition and creation of Task2 */osThreadDef(Task2, StartTask02, osPriorityAboveNormal, 0, 128);Task2Handle = osThreadCreate(osThread(Task2), NULL);/* definition and creation of Task3 */osThreadDef(Task3, StartTask03, osPriorityNormal, 0, 128);Task3Handle = osThreadCreate(osThread(Task3), NULL);/* USER CODE BEGIN RTOS_THREADS *//* add threads, ... *//* USER CODE END RTOS_THREADS */}/* USER CODE BEGIN Header_StartDefaultTask */
/*** @brief  Function implementing the Task1 thread.* @param  argument: Not used* @retval None*/
/* USER CODE END Header_StartDefaultTask */
void StartDefaultTask(void const * argument)
{/* USER CODE BEGIN StartDefaultTask *//* Infinite loop */for(;;){osDelay(10);//堵塞if(xSemaphoreTake(Mutex01Handle,portMAX_DELAY)!=pdTRUE){printf("task1,进不去\r\n");}else{printf("task1,抢占进入\r\n");}xSemaphoreGive(Mutex01Handle);printf("task1,完成\r\n");}/* USER CODE END StartDefaultTask */
}/* USER CODE BEGIN Header_StartTask02 */
/**
* @brief Function implementing the Task2 thread.
* @param argument: Not used
* @retval None
*/
/* USER CODE END Header_StartTask02 */
void StartTask02(void const * argument)
{/* USER CODE BEGIN StartTask02 *//* Infinite loop */for(;;){osDelay(2);//堵塞printf("task2,运行\r\n");}/* USER CODE END StartTask02 */
}/* USER CODE BEGIN Header_StartTask03 */
/**
* @brief Function implementing the Task3 thread.
* @param argument: Not used
* @retval None
*/
/* USER CODE END Header_StartTask03 */
void StartTask03(void const * argument)
{/* USER CODE BEGIN StartTask03 *//* Infinite loop */for(;;){xSemaphoreTake(Mutex01Handle,0);printf("task3,进入\r\n");xSemaphoreGive(Mutex01Handle);printf("task3,完成\r\n");}/* USER CODE END StartTask03 */
}

 现象:

84ad3238b47b489ea48b64674e5df15d.png

最低优先级先执行,最高优先级其次执行,最后是中间优先级执行。

 

 

http://www.yayakq.cn/news/332488/

相关文章:

  • 网站设计搜索栏怎么做扁平式网站
  • 做网站前台需要学什么 后台网站关停公告怎么做
  • 二级网站的建设网站开发类的合同
  • 知乎 网站建设湛江个人网站建设
  • 扁平化网站设计手机网站开发费用
  • 网页设计与制作教程教科书北京做网站优化的公司
  • 网站建设项目的流程图怎么让付费网站免费
  • 用wordpress框架建站logo设计及创意说明
  • 綦江网站泰安房产网二手房出售
  • 企业网站建设在网络营销中的地位与作用建站流程网站上线
  • 杭州电子网站建设方案嘉兴网站模板建站
  • 什么是企业营销型网站宝塔wordpress公网访问
  • 网站开发技术要学什么全国十大跨境电商公司排名
  • ssh购物网站开发视频工业设计公司是做什么的
  • 泉州网站建设开发浙江中企建设集团有限公司网站
  • 数据库2008做企业网站网龙公司有做网站吗
  • 贵阳工程建设招聘信息网站wordpress免谷歌
  • 海门市建设局网站微信小程序注册认证
  • 凯里网站建设做网站后台系统的规范
  • 网站广告怎样做跳转网站正在建设中
  • 淄博网站建设培训学校中国施工总承包100强
  • 永州网站seo动漫制作教学
  • 网站建设内部需求调查表企业网站建设要多少
  • 微商手机网站制作公司网站建设 wordpress系统
  • 无锡网站建设制作方案宁津网站设计
  • 长沙网站wordpress分类调用
  • 惠州做网站广告做站群什么样的算是违法网站
  • 绍兴集团网站建设游戏交易网站开发
  • 为什么手机进网站乱码wordpress的图床
  • 定制网站系统开发廊坊网站建设系统