首页 > 代码库 > 资源同步
资源同步
以前在学单片机的时候,在中断那一节,在处理中断服务程序时,总是要在程序开头加上一句关中断,处理完以后然后开中断,当时迷迷糊糊的也不知道是干什么用,老师也不给你详细讲,因为他详细讲了估计你也听不懂,这几天看操作系统以及多任务处理时,对这一块又有了新的认识。
被两个或者两个并发程序单元访问的资源称为共享资源,共享资源一定是全局资源,但全局资源不一定是共享资源。当多个任务同时访问同一共享资源时,不免会发生资源争夺现象。所以只有保证各个任务访问共享资源互斥,才能保障共享资源的可靠性和完整性。“资源同步”有关中断,关调度,使用互斥信号量和使用计数信号量。举个例子吧,假设有任务A,B优先级依次递减,假如某一个时刻,A被挂起,B开始访问共享资源,并判断是不是最后一个达到同步点的任务,但是这时一个异步信号,激活了A,因为A的优先级高于B,也判断自己是不是最后一个达到同步点的任务,便进行“签到”,并加入任务队列挂起。这时完成判断的B重新获得运行机会,进入任务队列挂起,整个任务便进入瘫痪状态。所以这时如果在B之前加入关中断,就不会被A打扰。
资源同步
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。