一:在讲IO模型之前我们首先来讲一下事件驱动模型,属于一种编程的范式,那么我们以前就是传统式编程,来看看有什么区别吧(此处为借鉴别人的)

传统的编程是如下线性模式的:

开始--->代码块A--->代码块B--->代码块C--->代码块D--->......--->结束

每一个代码块里是完成各种各样事情的代码,但编程者知道代码块A,B,C,D...的执行顺序,唯一能够改变这个流程的是数据。输入不同的数据,根据条件语句判断,流程或许就改为A--->C--->E...--->结束。每一次程序运行顺序或许都不同,但它的控制流程是由输入数据和你编写的程序决定的。如果你知道这个程序当前的运行状态(包括输入数据和程序本身),那你就知道接下来甚至一直到结束它的运行流程。

对于事件驱动型程序模型,它的流程大致如下:

开始--->初始化--->等待

与上面传统编程模式不同,事件驱动程序在启动之后,就在那等待,等待什么呢?等待被事件触发。传统编程下也有“等待”的时候,比如在代码块D中,你定义了一个input(),需要用户输入数据。但这与下面的等待不同,传统编程的“等待”,比如input(),你作为程序编写者是知道或者强制用户输入某个东西的,或许是数字,或许是文件名称,如果用户输入错误,你还需要提醒他,并请他重新输入。事件驱动程序的等待则是完全不知道,也不强制用户输入或者干什么。只要某一事件发生,那程序就会做出相应的“反应”。这些事件包括:输入信息、鼠标、敲击键盘上某个键还有系统内部定时器触发。

更多相关文章

  1. 长安铃木经销商爬取(解析xml、post提交、python中使用js代码)
  2. 怎样写贪吃蛇小游戏?用100行python代码轻松解决!
  3. 建模分析之机器学习算法(附python&R代码)
  4. 读取python中的unicode文件,该文件以与python源代码相同的方式声
  5. 自动完成在VS代码和Python中的自动化对象
  6. 在生产中是否应该减少服务器代码?
  7. python模拟多次采样通过低概率事件多次重复实验趋近必然事件
  8. 支持c和python之间的跨语言(c)标记的代码编辑器
  9. 初学者的Selenium自动化测试指南,基于Python(五)——常用键盘事件

随机推荐

  1. android mms 数据库
  2. Android五大布局、日志猫
  3. 渐变的几种效果
  4. Installing Android Studio
  5. Android去掉状态栏和标题栏的两种方式
  6. Android多线程——Handler
  7. Android DrawerLayout实现抽屉效果
  8. Android 相对布局常用属性
  9. Android(安卓)面试题(经典)
  10. Android EditText无边框问题