Day 18 事件指示器

某些Kernel里面会提供每个任务一个事件指示器(event regiser),就是在任务之内指定需要有哪些条件是任务所需要的。例如说,希望收到的事件的条件有哪些? 接收到的事件时,应该如何筛选? 事件时效是多久?以及何时被通知?当然还可以往下延伸更多条件。

这些事件的存在都是以0与1的方式存在,一个事件指示器是可以以16 bit、32 bit、64 bit....甚至更长的位元存在的,这些就要视条件检查时的设定,有需要可以继续增加,如果没必要,也可以删减。所以我们从这里就知道,视条件检查就是决定事件指示器里面条件设定的关键。

条件检查,其实就是and/or的一个简单逻辑,如果两者皆须存在就用and,如果只要单一个要素存在就用or,透过这种方式就可以设定好条件,然後针对条件,让任务去接收或者发送讯息。

不过,不管事件指示器如何设定,最後关键还是由每个任务自行去做最後决策,假设某个任务在执行的时候,他不愿意照事件指示器里设定的条件去接收或发送讯息,这时这个事件指示器就会变成一个无效的机制。

另外,假设事件指示器里面设定的条件时,发现有多个来源都符合时,就有可能会出现混乱的情形,此时,要解决这个问题的方式,就是把其他几个事件指示器的条件做合并,把相同的条件来源,透过合并的条件做筛选,但是这也有缺点,就是在筛选过程会漏掉某些符合某项事件条件,却因另一个事件关系而被剔除的问题产生。


<<:  Day20 Analysis of Algorithms(Ⅱ)

>>:  Day 20:怎麽在 Angular 使用 sweatalert2

20 - Traces - 观察应用程序的效能瓶颈 (4/6) - 使用 APM Server 来收集 APM 数据

Traces - 观察应用程序的效能瓶颈 系列文章 (1/6) - Elastic APM 基本介绍...

33岁转职者的前端笔记-DAY 6 CSS button 套件

最近的工作专案很常用到 button 按钮 因为小公司的关系没有设计 所以通常要自已想 button...

[Day 17] 我的资料哪有这麽平衡!第二季 (class weights)

前言 走过了资料分析、演算法选择後, 我们得知了有些可以改善模型的方向: 解决资料不平衡(Now) ...

Day 15:「你真的不减肥吗...?」- Tailwind 的生产环境优化

兔大妈: 「百货公司在跳楼...大!拍!卖!!!(口水)」 「赶快来去抢!!!」 (兔大妈掏出了小...

摊平摊平,愈摊愈平

这也是很多输家最爱用的手段之一,进场时说是「成长型」投资,被套牢了,改口说是「价值型」投资,你真的懂...