首页 > 其他 > 详细

阻塞和挂起的区别

时间:2021-03-04 10:14:40      阅读:43      评论:0      收藏:0      [点我收藏+]

阻塞

如果一个任务当前正在等待某个外部事件的话就说它处于阻塞态, 比如说如果某个任务调用了函数 vTaskDelay()的话就会进入阻塞态, 直到延时周期完成。任务在等待队列、信号量、事件组、通知或互斥信号量的时候也会进入阻塞态。任务进入阻塞态会有一个超时时间,当超过这个超时时间任务就会退出阻塞态,即使所等待的事件还没有来临!

挂起

像阻塞态一样,任务进入挂起态以后也不能被调度器调用进入运行态, 但是进入挂起态的任务没有超时时间。任务进入和退出挂起态通过调用函数 vTaskSuspend()xTaskResume()。 

技术分享图片

 

个人理解:挂起任务可以源于运行态任务和就绪态任务,而阻塞是源于运行态任务。


 

 

阻塞和挂起的区别

原文:https://www.cnblogs.com/kunshanpipixia/p/14477933.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!