恭喜,你发布的帖子
发布于 2023-07-07 09:22:46
66楼
关于优先权和设计
读写任务都可以获得优先权。优先权是赋予给非周期性执行的任务,否则有些任务永远执行不了。优先权是一次性的。随机偶发的或周期性偶发的任务,可以获得优先权,也可以没有。
优先权可以分为不同的等级。本案例中只设置了一个优先级。不同等级的优先任务之间,可以通过判断让高优先级执行。相同等级的优先任务之间,按照先来后到执行。
本案例的通信层3和通信层6中,都包含有优先权的调度元素,适合不同的扫描时序场景。
下面的Trace描述了一个设备的优先权,触发了另一个设备的通信层6中的优先调度元素的执行,实现了执行权切换。
在Spin Launch层中,也有优先调度因素。它出现在了多个地方。
解耦的一个含义:设计一个局部元素的时候,你当然会去看全局设计中其它各处的关联。但不必严格介意,其它层的局部元素做了什么或者没做什么。
设计一个层,一个元素,是因为这个东西出现在这个位置有它自己的任务。重要的是让这个元素,在这个位置做它该做的事情,而不是时时刻刻盯着别人做了什么。这是一种开放性。把演化留给未来的迭代。
一个局部元素能实现自己的任务即可。至于其它的,如果有任何冲突或重叠浮出水面,成为一个被观察到的问题的时候,去解决这个新问题就好。合理的架构自然会把问题以明确的方式Pop出来。
不要死盯全局。去解决局部问题,修理局部元素。不必穷尽,恰在取中。
请填写推广理由:
分享
只看
楼主