Python 基础之 I/O 模型
一、事件驱动模型介绍 1、传统的编程模式 例如:线程模式大致流程 开始--->代码A--->代码B--->代码C--->代码D--->......--->结果 每一个代码里是完成各种各样事情的代码,但编程者知道代码A,B,C,D...的执行顺序,唯一能够改变这个流程的是数据。输入不同的数据, 根据条件语句判断,流程或许就改为A--->B--->D...--->结束。 每一次程序运行顺序或许都不同,但它的控制流程是由输入数据和你编写的程序决定的。如果你知道这个程序当前的运行状态(包括输入 数据和程序本身),那你就知道接下来甚至一直到结束它的运行流程。 例如:事件驱动程序模型大致流程 开始--->初始化--->等待 与上面传统编程模式不同,事件驱动程序在驱动之后,就在那等待,等待什么呢?等待被事件触发。传统编程下也有“等待”,比如在 编代码D中,你定以了一个input(),你作为程序编写者是知道或者强制用户输入东西的,或许是数字,或许是文件名称,如果用户输入 错误,你还需要提醒他,并请他重新输入,事件驱动程序的等待则是完全不知道,也不强制用户输入或者干什么,只要某一事件 发生,那程序就会做出相应的“反应”。这些事件包括:输入信息、鼠标、敲击键盘上某个键还有系统内部定时器触发。 2、事件驱动模型 通常,我们写服务器处理模型的程序时,有一下几种模型: (1)每收到一个请求;创建一个新的进程