TCP 三次握手: SYN --> SYN+ACK --> ACK 四次挥手: FIN --> ACK (FIN) --> ACK TCP十种状态: LISTEN SYN_SENT SYN_RECV ESTABLISHED FIN_WAIT1 FIN_WAIT2 CLOSE_WAIT LAST_AC ...
分类:
编程语言 时间:
2018-05-27 13:51:39
阅读次数:
297
大家好,并发编程 进入第九篇。 通过前两节的铺垫(关于协程的使用),今天我们终于可以来介绍我们整个系列的重点 -- asyncio。 asyncio是Python 3.4版本引入的标准库,直接内置了对异步IO的支持。 有些同学,可能很疑惑,既然有了以生成器为基础的协程,我们直接使用yield 和 y ...
分类:
编程语言 时间:
2018-05-27 12:03:20
阅读次数:
197
import requestsimport refrom lxml import etreeimport osimport randomimport threadingimport timeimport datetimeimport hashlibimport multiprocessingfrom ...
分类:
编程语言 时间:
2018-05-25 11:10:33
阅读次数:
198
# Author: yeshengbao # -- coding: utf-8 -- # @Time : 2018/5/24 21:38 import datetime import requests import os import hashlib from multiprocessing imp... ...
分类:
编程语言 时间:
2018-05-25 00:25:32
阅读次数:
240
一、首页,认识一下可迭代,迭代器和生成器 可迭代,如:list,dict,tuple,deque等都是可迭代对象; 验证,需要借助collections.abc这个模块(python2中没有)使用isinstance()来类别一个对象是否是可迭代的(Iterable),是否是迭代器(Iterator ...
分类:
编程语言 时间:
2018-05-24 11:51:08
阅读次数:
259
现在多进程多线程已经是老生常谈了,协程也在最近几年流行起来。python中有协程库gevent,py web框架tornado中也用了gevent封装好的协程。本文主要介绍进程、线程和协程三者之间的区别。 一、概念 1、进程 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进 ...
分类:
编程语言 时间:
2018-05-23 12:29:43
阅读次数:
225
一,引子 一:其中第二种情况并不能提升效率,只是为了让cpu能够雨露均沾,实现看起来所有任务都被“同时”执行的效果,如果多个任务都是纯计算的,这种切换反而会降低效率。为此我们可以基于yield来验证。yield本身就是一种在单线程下可以保存任务运行状态的方法,我们来简单复习一下: 单纯地切换反而会降 ...
分类:
其他好文 时间:
2018-05-21 12:36:35
阅读次数:
180
我希望在开头的时候,能有一个讲故事的Scene来讲前置剧情,就写了个类。用来控制文本逐字显示的: 原理很简单,就一个协程而已。我写了两个模式,一个是自动翻页,一个是按键翻页。配上audio,还真有那么点感觉。 可以看到我用的是EasySave3这个插件来做存储的,最近对移动端存储这块有点疑惑,希望能 ...
分类:
其他好文 时间:
2018-05-20 18:18:18
阅读次数:
209
import gevent from gevent import monkey import requests,time,re,os """ 协程爬虫的意义在于解决堵塞的耗时操作,epoll机制不过用gevent好像不错,先来看下gevent的概念 其原理是当一个greenlet遇到IO(指的是in ...
分类:
其他好文 时间:
2018-05-19 21:30:14
阅读次数:
240
声明:本人的一切著作,禁止用于以营销为目的的任何转载! 前言 很久以前就听说 Python 的 async/await 很厉害,但是直到现在都没有用过,一直都在用多线程模型来解决各种问题。最近看到隔壁的 Go 又很火,所以决定花时间研究下 Python 协程相关的内容,终于在翻阅了一裤衩的资料之后有 ...
分类:
编程语言 时间:
2018-05-19 20:42:12
阅读次数:
2509