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

建设门户网站的申请马鞍山建站

建设门户网站的申请,马鞍山建站,建设书局 网站,网站建设项目概要设计方案作者 | strongerHuang微信公众号 | 嵌入式专栏在基于RTOS开发项目时#xff0c;通常都会遇到互斥的情况#xff0c;比如#xff1a;几个任务都要使用一个UART串口进行发送数据。如果不加互斥锁#xff0c;优先级高的任务#xff0c;会抢占串口并发送数据#xff0c;则有可… 作者 | strongerHuang微信公众号 | 嵌入式专栏在基于RTOS开发项目时通常都会遇到互斥的情况比如几个任务都要使用一个UART串口进行发送数据。如果不加互斥锁优先级高的任务会抢占串口并发送数据则有可能会出现发送数据“乱码”的情况。今天就说说在RTOS开发中互斥锁一个常见的问题。什么是Mutex互斥锁学习过RTOS的读者应该对互斥不陌生互斥锁就是为了避免任务之间互相抢占某种资源而设计的一种“锁”。就如上面说的一个串口被两个任务抢占如果不加锁则会出现两个任务交叉发送数据即“乱码”但是如果加了互斥锁则会等待其他任务发送完成之后才继续发送保证了数据的完整而不是乱码Mutex互斥锁例子这里以三个任务、两个互斥锁为例代码如下void task1() {/*do something*/OSMutex1_Pend(); //互斥锁1加锁/*加锁处理事情*/OSMutex1_Post(); //互斥锁1解锁 }void task2() {/*do something*/OSMutex1_Pend(); //互斥锁1加锁OSMutex2_Pend(); //互斥锁2加锁/*加锁处理事情*/OSMutex2_Post(); //互斥锁2解锁OSMutex1_Post(); //互斥锁1解锁 }void task3() {/*do something*/OSMutex2_Pend(); //互斥锁2加锁/*加锁处理事情*/OSMutex2_Post(); //互斥锁1解锁 }这样设计大家看出问题了吗老司机应该看出来了新手可能摸不着头脑。在任务2中进行了2次加锁、解锁而且“环环相扣”。Mutex互斥锁问题假如任务1、 任务2、 任务3优先级分别为1、 2、 3。优先级顺序就是任务1  任务2  任务3数字越小代表任务优先级越高。假设任务1和任务2处于等待事件状态也就是处于阻塞状态 task 3 处于运行状态。当任务3在“加锁处理事情”的时候任务2抢占了任务3任务2挂起时间到了此时任务3挂起任务2处于运行状态如果任务2在“互斥锁1加锁”之后任务1抢占了任务2此时任务1处于运行状态这个时候你发现问题了没有任务1在执行“OSMutex1_Pend();”会等待“互斥锁1解锁”如果其他方式没有对“互斥锁1解锁”则会出现“死锁”的情况。分享一张图片你就会明白什么是死锁了解决办法比如对任务2加锁方式进行改善void task2() {/*do something*/OSMutex1_Pend(); //互斥锁1加锁/*do something*/OSMutex1_Post(); //互斥锁1解锁OSMutex2_Pend(); //互斥锁2加锁/*do something*/OSMutex2_Post(); //互斥锁1解锁 }或者对低优先级的任务3加锁方式进行改善void task3() {/*do something*/OSMutex1_Pend(); //互斥锁1加锁OSMutex2_Pend(); //互斥锁2加锁/*加锁处理事情*/OSMutex2_Post(); //互斥锁2解锁OSMutex1_Post(); //互斥锁1解锁 }出问题的原因 当一个任务获得了临界区资源的锁在没有释放这个锁的前提下又去获得另外一块临界区资源这个时候就要引起足够的注意了设计成败在于你是否彻底理解了之前的问题。但是归根到底这样的问题还是要求用户在设计阶段去避免一个系统不可能是万能的正确的设计才是最重要的。------------ END ------------点击“阅读原文”查看更多分享。
http://wiki.neutronadmin.com/news/62570/

相关文章:

  • 做网站需要了解的内容廊坊seo优化排名
  • 品牌网站建设策clef wordpress
  • 网站建设优化服务流程移动端seo
  • 企业网站做的比较好有名的网站建设公司
  • 云核wordpress深圳网站优化团队
  • 合肥网站建设 卫来网络建设工程资质证书二维码扫描网站
  • 注册公司网上申请入口网站中国在建工程信息网
  • 免费网站后台管理模板下载今天的新闻头条最新消息
  • 做网站是用ps还是ai网络营销模式有哪几种
  • 网站百度关键词排名软件横峰县城乡建设网站
  • 网站开发费属于软件费吗建筑材料价格查询网站
  • 京东网站建设的特点网站设计分析怎么写
  • 软件开发培训机构找极客时间杭州优化网站
  • 产品推广运营的公司seo关键词排名优化要多少钱
  • 网站推广策划书模板运营一个app大概多少钱
  • dw做网站首页代码上海设计公司官网
  • 深圳网站公司网站建设湖北网站推广系统
  • 网站的宗旨零基础源码建设网站
  • 网站建设听取需求微信云开发
  • h5网站建设代理福州官网网站建设
  • 网站设计是什么网站后台管理界面代码
  • 馆陶专业做网站三字顺口名字公司
  • 2003建立虚拟网站建立网站接受投注是什么意思
  • 以前的网站忘了怎么办啊文化建设的现状及思考
  • 网上制作网站古风wordpress
  • h5网站开发费用网站做排名需要多少钱
  • 南昌网站建设资讯建设网站的体会
  • 小说网站开发流程本地安装wordpress nginx
  • 做网站开直通车中国国家培训网正规吗
  • 西安哪家网络公司做网站网站建设页头的设计