Python 3.4 asyncio是Python 3.4版本引入的标准库,直接内置了对异步IO的支持。 asyncio的编程模型就是一个消息循环。我们从asyncio模块中直接获取一个EventLoop的引用,然后把需要执行的协程扔到EventLoop中执行,就实现了异步IO。 用asyncio实... ...
分类:
编程语言 时间:
2019-05-08 14:44:23
阅读次数:
153
今天的分享内容大体如下: 一. 面试 1. 什么是面试 2. 优秀的面试 二. Python综述 1. Python设计哲学及版本变迁 2. Python发展现状及其他语言使用场景 3. GIL 4. 内存管理和垃圾回收 5. 面试示例 三、并发并行 1. 进程 2. 线程 3. 协程 4. 并发编 ...
分类:
编程语言 时间:
2019-05-08 09:29:06
阅读次数:
191
如何提升requests模块爬取数据的效率 多进程或者多线程(不建议) 线程池或者进程池(适当使用) 单线程+异步协程(推荐) 示例爬取梨视频 import requests import re from lxml import etree from multiprocessing.dummy im ...
分类:
其他好文 时间:
2019-05-06 23:46:46
阅读次数:
218
线程池(适当使用) 单线程+异步协程(推荐) event_loop:事件循环,相当于一个无限循环,我们可以把一些函数注册到这个事件循环上,当满足某些条件的时候,函数就会被循环执行。程序是按照设定的顺序从头执行到尾,运行的次数也是完全按照设定。当在编写异步程序时,必然其中有部分程序的运行耗时是比较久的 ...
分类:
其他好文 时间:
2019-05-06 19:19:34
阅读次数:
117
``` 用asyncio和aiohttp抓取博客的总阅读量 (提示:先用接又找到每篇文章的链接) https://www.jianshu.com/u/130f76596b02 import re import asyncio import aiohttp import requests import ...
分类:
其他好文 时间:
2019-05-06 17:30:31
阅读次数:
113
# 基本使用 # 异步轮询的执行 import asyncio async def hello(name): print('hello to:',name) c = hello('zc')#调用 返回协程对象 # 创建一个事件循环对象 loop = asyncio.get_event_loop() ... ...
分类:
其他好文 时间:
2019-05-06 11:44:37
阅读次数:
170
第一步,搭建开发环境 所需第三方库: aiohttp,异步 Web 开发框架;jinja2,前端模板引擎;aiomysql,异步 mysql 数据库驱动 所需内置库: logging,系统日志;asyncio,异步IO;os,系统接口;json,json 编码解码模块;time,系统时间模块;dat ...
分类:
其他好文 时间:
2019-05-04 11:34:18
阅读次数:
139
引自我在知乎上的回答: "进程 线程 协程 例程 过程 的区别是什么? 骏马金龙的回答 知乎" 首先解释下程序、进程、上下文切换和线程。然后再解释协程、例程、过程。 程序 :源代码堆起来的东西。相当于一个一动不动没有生命的机器人。 虽然是没有生命的机器人,但是它被设计后就表示有了硬件,它的硬件决定了 ...
分类:
编程语言 时间:
2019-05-02 18:56:08
阅读次数:
184
小结: 1、内存优化1.一个消息一定只有一块内存使用 Job 聚合消息,Comet 指针引用。 2.一个用户的内存尽量放到栈上内存创建在对应的用户 Goroutine(Go 程)中。 3.内存由自己控制主要是针对 Comet 模块所做的优化,可以查看模块中各个分配内存的地方,使用内存池。 2、模块优 ...
分类:
其他好文 时间:
2019-05-02 11:33:12
阅读次数:
113
前言 同步和异步的概念描述的是用户线程与内核的交互方式:同步是指用户线程发起IO请求后需要等待或者轮询内核IO操作完成后才能继续执行;而异步是指用户线程发起IO请求后仍继续执行,当内核IO操作完成后会通知用户线程,或者调用用户线程注册的回调函数。 阻塞和非阻塞的概念描述的是用户线程调用内核IO操作的 ...
分类:
其他好文 时间:
2019-05-01 18:52:47
阅读次数:
325