探测事件是否满足的方案

一、背景

1、实际应用中总是存在需要判断某个事情是否满足条件的情况。

2、例如:
计算机中处理器需要判断磁盘是否读写完成。

计算机需要探测外部设备是否连接成功。

计算机需要处理很多的鼠标、键盘、网络输入事件。

需要判断是否键盘输入完成,是否有网络数据可读,是否有数据可以输出。


二、实际有下列方案来探测事件是否满足

(一)主动循环判断各种条件

1、当外部条件满足,需要设置一个信号。
信号可以设置在内存里,或者文件里。

信号或许是一个字节值。

2、处理器需要循环定时来访问这些信号。

3、如果信号满足条件,就需要处理该事件。


(二)被动接受中断信号

1、当外部条件满足,就发出一个中断信号给处理器。

2、处理器收到中断后,根据中断来切换进程处理该中断事件。

3、处理器不需要来循环访问条件是否满足。

处理器可以更加专心的执行某个任务。

处理器需要外部设备的中断信号来通知,才能知道某个条件满足了,需要处理该事件。


三、高层应用程序的行为

1、当系统调用没有完成,高层应用程序只能阻塞等待。

或者进入休眠,需要操作系统来唤醒。


2、事件异步监听处理需要开启线程来阻塞监听。

当系统调用完成后,恢复应用程序的执行。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值