#申请原创#@21小跑堂做为软件编程当中非常重要的一环,中断是编辑者不得不着重考虑的,所谓中断主要是指正在执行的任务由于某些原因而不得不选择暂时或最终停止执行,这种情况非常类似我们工作中,正在处理副总安排的任务时,突然老总打电话另外安排我们去处理另外的事情一样,如果老总安排的任务否定了副总的安排,那么就可以彻底放弃原先正在进行的工作,而按照老总的要求重新开启新工作;而如果老总只是在副总的基础上加入其它要求,那么我们则必须先暂时停下手头的工作,转而去先处理老总的任务,随后再继续先前的工作。
通过上面这个举例,不难发现中断的情况只是正常工作的暂停,至于究竟该何去何从,则还要牵扯到另一个问题——优先权限,还是以上面的情况为例,如果我们在执行副总安排的工作时,科长又安排其它工作,那么我们会暂时将安排的工作记下继续完成副总交代的工作,否则职位高的副总会发飙的,至于科长会不会发飙则主要看人品了!可是在此过程中,老总安排另外的工作,那么相信大家都会做出正确的选择,毕竟公司中职务的高低就是一切。由此可见,单位就是一个完整的程序系统,而工作就是程序流,至于科长、副总、老总的零时安排就是中断的条件,而优先等级则要看任务发布者的职务高低了,对应程序而言也就是中断事件的危害或紧迫程度对应于现行处理程序来讲了。
回归实际程序编辑中,我们在编辑中要充分了解任务流程的同时,更要将各种出现的问题先行了解清楚,举个最简单的例子:针对变频器保护功能,短路保护功能必然要优先于欠压、过载等其它故障现象,不然变频器发生不可逆炸机故障的概率则是极高的!而对于过载故障,变频器内部运行程序会根据故障检测到的电流进行中断和等级排序——例如1.05倍电流时,变频器通常只会显示过载报警,而不会停机;1.1倍电流时给出故障代码时多会延时停机;1.15倍电流时则往往会在短时间(由用户或者固化值决定)内停机。
综上所述,中断是一个程序里必不可缺的一部分,是针对突发情况的紧急避险手段,而当多个中断申请要求并发时,则要看那部分中断申请危害最高而定了。
|