Python中事件驱动

发布时间 2023-03-22 21:16:42作者: 小家电维修

  提示:如果要回顾视频,直接从第8分钟开始看

  事件驱动可以说是一个概念,还是用一个官方的语言来讲解一下吧

  事件驱动专业的解释是指在持续事务管理中,进行决策的一种策略,当事件被触发时计算机调动可用资源,执行相关任务,这样使得不断出现任务得以执行,防止实务的堆积。这种策略相比起非事件驱动的程序来说,让计算机 CPU 资源更优的利用起来,通过对事务的有效管理让计算机得到最好的性能。

  现在的编程基本都是基于事件驱动的,例如服务器端的 IO 处理、网络请求;特别是在 UI 的编程中,鼠标的点击事件、屏幕的触摸事件、键盘的事件等等。

 

  因为是一个概念,本人能力道不清,说不明。所以用以下几种方式来解释一下什么是事件驱动,看的多了,就可以意会了。

  例子1:

  以下笔记中:Day9 - 异步IO数据库队列缓存 2.3章节

  例子2:

  python详解事件驱动event实现

 

  在回到课堂上看看老师的另一种方式的讲解。(感觉有点跑题,不知道是不是自己理解不透的问题)

  首先python跟其他语言相比,没有事件和委托,python是没有的。在其他语言中,这两者是什么呢?简单来说就是函数列表或者类的列表

  Python里面没有事件?那事件能不能自己创造呢?

  其他语言事件是怎么做的?比如C++语言的。是怎么驱动的?

  

  当请求到web框架之后,就会执行24个事件,经历过24个事件之后,就会把请求返回给客户端了。

  如果想在请求的过程中,自定义一些事件,比如黑名单等,那么就得在24个事件后注册一个自定义事件,事件是什么?就是刚才说的,一个类或者一个函数。

 

  这里举一个例子

  假设下面这个框架有10万行代码,使用pip安装的,不知道里面是什么东西。

  如果想使用这个框架,就需要按照框架开发者的约定,做以下几个事情。

  1. 自己写个类,集成Baseler
  2. 必须在类里面写execute方法
  3. 把类注册到event_list.
  4. Run方法

  简单来说假设自己下载了一个web框架,自己要做的,就是把自己想要执行的函数按照框架约定放进去,那么就可以使用web框架了。

  这里的例子就用课堂一个代码演示一下。

  见以下链接中的4.1章节,就是一个使用框架,然后我们自己自定义事件的例子。

  Python之路【第六篇】:socket