使用协程建立自己的异步非阻塞模型 接下来例子中,将使用纯粹的Python编码搭建一个异步模型,相当于自己构建的一个asyncio模块,这也许能对asyncio模块底层实现的理解有更大的帮助.主要参考为文末的链接,以及自己的补充理解. 完整代码 #!/usr/bin/python # ============================================================= # File Name: async_base.py # Author: LI Ke # C…
协程 / Coroutine 目录 生产者消费者模型 从生成器到异步协程– async/await 协程是在一个线程执行过程中可以在一个子程序的预定或者随机位置中断,然后转而执行别的子程序,在适当的时候再返回来接着执行.它本身是一种特殊的子程序或者称作函数. 一个程序可以包含多个协程,可以对比与一个进程包含多个线程.我们知道多个线程相对独立,有自己的上下文,切换受系统控制:而协程也相对独立,有自己的上下文,但是其切换由自己控制,由当前协程切换到其他协程由当前协程来控制. 1 生产者消费者模型 下…
socket 1. 常量 / Constants AF_* 和 SOCK_* 分别属于 AddressFamily 和 SocketType 1.1 AF_*类常量 socket.AF_UNIX:  UNIX本地通信使用 socket.AF_INET:   IPv4连接时使用 socket.AF_INET6: IPv6连接时使用 这类常量代表了AddressFamily,用于socket()的第一个参数 1.2 SOCK_*类常量 socket.SOCK_STREAM:     有保障传输面向连…
p { display: block; margin: 3px 0 0 0; } --> 写在前面 在学异步,有位园友推荐了<async in C#5.0>,没找到中文版,恰巧也想提高下英文,用我拙劣的英文翻译一些重要的部分,纯属娱乐,简单分享,保持学习,谨记谦虚. 如果你觉得这件事儿没意义翻译的又差,尽情的踩吧.如果你觉得值得鼓励,感谢留下你的赞,愿爱技术的园友们在今后每一次应该猛烈突破的时候,不选择知难而退.在每一次应该独立思考的时候,不选择随波逐流,应该全力以赴的时候,不选择尽力而…
一: 进程的概念:(Process) 进程就是正在运行的程序,它是操作系统中,资源分配的最小单位. 资源分配:分配的是cpu和内存等物理资源 进程号是进程的唯一标识 同一个程序执行两次之后是两个进程 进程和进程之间的关系: 数据彼此隔离,通过socket通信 二:并行和并发 并发:一个cpu同一时间不停执行多个程序 并行:多个cpu同一时间不停执行多个程序 三:cpu的进程调度方法 # 先来先服务fcfs(first come first server):先来的先执行 # 短作业优先算法:分配的…
server端 import socket sk = socket.socket() sk.bind(('127.0.0.1', 8010)) sk.setblocking(False) # sk.listen() conn_l = [] del_conn = [] while True: try: conn, addr = sk.accept() # 不阻塞,但是没人连我会报错 print('建立连接了:', addr) conn_l.append(conn) except BlockingI…
 Web页面解析 / Web page parsing 1 HTMLParser解析 下面介绍一种基本的Web页面HTML解析的方式,主要是利用Python自带的html.parser模块进行解析.其主要步骤为: 创建一个新的Parser类,继承HTMLParser类; 重载handler_starttag等方法,实现指定功能; 实例化新的Parser并将HTML文本feed给类实例. 完整代码 from html.parser import HTMLParser # An HTMLParser…
统一资源定位符 / URL 目录 URL 构成 URL 解析 URL 处理 1 URL构成 统一资源定位符(Uniform Resource Locator) 是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址.互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它.现在已经被万维网联盟编制为互联网标准 RFC1738. URL的基本格式为,prot_sch://net_loc/path;params?query#frag…
Socket socket 简述 / socket Abstract 网络进程通信与 socket 网络中进程之间如何通信,首要解决的问题是如何唯一标识一个进程,否则通信无从谈起.在本地可以通过进程 PID 来唯一标识一个进程,但是在网络中这是行不通的.其实 TCP/IP 协议族已经帮我们解决了这个问题,网络层的“ ip 地址”可以唯一标识网络中的主机,而传输层的“协议+端口”可以唯一标识主机中的应用程序(进程).这样利用三元组(ip 地址,协议,端口)就可以标识网络的进程了,网络中的进程通信就…
Socket 目录 socket 的 TCP/IP 通信基本建立过程 socket 的 UDP 通信基本建立过程 socket 的 UDP 广播式通信基本建立过程 socket 的多线程通信建立过程 1 socket的TCP/IP通信基本建立过程 socket的TCP/IP通信连接主要包括两个部分,服务端与客户端 1.1 Socket server服务端建立 服务端建立步骤主要有: 初始化IP地址和端口号; 生成socket实例,TCP/IP通信选择AF_INET(IPV4),SOCK_STRE…