理解Twsited异步网络框架

事件驱动 

  简而言之,事件驱动分为二个部分:第一,注册事件;第二,触发事件。自定义事件驱动框架,命名为:“弑君者”:

事件服务器端:

 1 __author__ = ‘lizheng‘
 2 # !/usr/bin/env python
 3 #-*- coding:utf-8 -*-
 4 event_list = []
 5
 6 def run():
 7     for event in event_list:
 8         obj = event()
 9         obj.execute()
10
11
12 class BaseHandler(object):
13     """
14     用户必须继承该类,从而规范所有类的方法(类似于接口的功能)
15     """
16     def execute(self):
17         raise Exception(‘you must overwrite execute‘)

事件客户端,注册和触发事件

 1 __author__ = ‘lizheng‘
 2 # !/usr/bin/env python
 3 #-*- coding:utf-8 -*-
 4 from day10 import event_drive
 5
 6
 7 class MyHandler(event_drive.BaseHandler):
 8
 9     def execute(self):
10         print(‘MyHandler is executing!‘)
11
12 event_drive.event_list.append(MyHandler)
13 event_drive.run()

时间: 2024-10-01 06:12:05

理解Twsited异步网络框架的相关文章

Twsited异步网络框架

Twisted是一个事件驱动的网络框架,其中包含了诸多功能,例如:网络协议.线程.数据库管理.网络操作.电子邮件等. Twisted介绍:http://blog.csdn.net/hanhuili/article/details/9389433 事件驱动 简而言之,事件驱动分为二个部分:第一,注册事件:第二,触发事件. 自定义事件驱动框架,命名为:“弑君者”: #!/usr/bin/env python # -*- coding:utf-8 -*- # event_drive.py event_

python2.0_s12_day10_Twsited异步网络框架

Twsited异步网络框架 Twisted是一个事件驱动的网络框架,其中包含了诸多功能,例如:网络协议.线程.数据库管理.网络操作.电子邮件等. Package application Configuration objects for Twisted Applications Package conch Twisted Conch:The Twisted Shell.Terminal emulation,SSHv2 and telnet Module copyright Copyright i

基于redis AE的异步网络框架

最近一直在研究redis的源码,redis的高效率令人佩服. 在我们的linux机器上,cpu型号为, Intel(R) Pentium(R) CPU G630 @ 2.70GHz Intel(R) Pentium(R) CPU G630 @ 2.70GHz 上 set,get 都能达到每秒钟15W的请求处理量,真是佩服这代码的效率. 前几篇文章,主要是介绍了基本的代码,比如字符串处理,链表处理,hash等.这篇文章介绍网络的核心,基于事件反映的异步网络框架. 异步网络处理,是基于epoll的.

Voovan 是一个高性能异步网络框架和 HTTP(Java)

Voovan 是一个高性能异步网络框架和 HTTP 服务器框架,同时支持 HTTP 客户端抓取.动态编译支持.数据库访问封装以及 DateTime.String.Log.反射.对象工具.流操作.文件操作.异步双向通道等功能.旨在提供可靠.方便.可单元测试的代码.它是一个无任何依赖的独立工具包,希望能够方便广大开发者快速的实现应用. 作者:@愚民日记 地址:http://git.oschina.net/helyho/Voovan http://www.oschina.net/news/80909/

uvloop —— 超级快的 Python 异步网络框架

简短介绍 asyncio是遵循Python标准库的一个异步 I/O框架.在这篇文章里,我将介绍 uvloop: 可以完整替代asyncio事件循环.uvloop是用Cython写的,基于 libuv. uvloop 使得 asyncio 更快. 实际上,比nodejs,gevent,以及其他任何Python异步框架至少快两倍 .uvloop asyncio 基于性能的测试接近于Go程序. asyncio 和 uvloop asyncio 模块, 是在 PEP 3156引入的, 是一个集合,包含网

基于redis AE异步网络架构

最近的研究已redis源代码,redis高效率是令人钦佩. 在我们的linux那个机器,cpu型号, Intel(R) Pentium(R) CPU G630 @ 2.70GHz Intel(R) Pentium(R) CPU G630 @ 2.70GHz 上 set,get 都能达到每秒钟15W的请求处理量,真是佩服这代码的效率. 前几篇文章.主要是介绍了主要的代码.比方字符串处理,链表处理.hash等. 这篇文章介绍网络的核心,基于事件反映的异步网络框架. 异步网络处理.是基于epoll的.

系统学习消息队列分享(十) 如何实现高性能的异步网络传输?

异步与同步模型最大的区别是,同步模型会阻塞线程等待资源,而异步模型不会阻塞线程,它是等资源准备好后,再通知业务代码来完成后续的资源处理逻 辑.这种异步设计的方法,可以很好地解决IO等待的问题. 我们开发的绝大多数业务系统,它都是IO密集型系统.跟IO密集型系统相对的另一种系统叫计算密集型系 统.通过这两种系统的名字,估计你也能大概猜出来IO密集型系统是什么意思. IO密集型系统大部分时间都在执行IO操作,这个IO操作主要包括网络IO和磁盘IO,以及与计算机连接的一 些外围设备的访问.与之相对的计

异步网络加载开源框架AsyncHttpClient使用

AsyncHttpClient是异步的,但是有时候我们需要得到请求的结果集来返回给某个函数,由于是异步的,所以不能够直接return会去,所以可以定义一个interface来给调用AsyncHttpClient方法的一个回调来获取结果集,代码如下:定义回调接口: 点击(此处)折叠或打开 private static Callback mCallback; public interface Callback{ abstract void rankingsResultData(JSONArray r

Github 上Top1的Android 异步网络请求框架

今天给大家分享一个github上Top1的Android异步网络请求框架的使用方法,我给大家分享一个它的基本用法. 先来一个简单的get请求 AsyncHttpClient client = new AsyncHttpClient(); client.get("http://www.google.com", new AsyncHttpResponseHandler() { @Override public void onStart() { // called before reques