一:线程池,进程池等相关文章了解 python 基础知识回顾(十)进程和线程(py2中自定义线程池和py3中的线程池使用) python 基础知识回顾(十)进程和线程(协程gevent:线程在I/O请求上的优化) python 异步IO(asyncio)协程 二:异步I/O模块的了解(同协程:线程在 ...
分类:
编程语言 时间:
2018-06-26 00:47:17
阅读次数:
718
一、复习 1、进程、线程、协程 进程:是计算机中最小的资源分配单位,数据隔离,可以利用多核,数据不安全 线程:是计算机中最小的CPU调度单位,数据共享,GIL,数据不安全 协程:是线程的一部分,是由用户来调度,数据共享,数据安全 2、同步、异步、阻塞、非阻塞 异步:同时做不止一件事 同步:事情一件做 ...
分类:
编程语言 时间:
2018-06-20 18:53:39
阅读次数:
196
异步IO(Asynchronous I/O) Linux下的asynchronous IO其实用得不多,从内核2.6版本才开始引入。先看一下它的流程: 用户进程发起read操作之后,立刻就可以开始去做其它的事。而另一方面,从kernel的角度,当它受到一个asynchronous read之后,首先 ...
分类:
其他好文 时间:
2018-06-20 18:51:22
阅读次数:
148
#!/usr/bin/env python # encoding: utf-8 # Date: 2018/6/19# # from gevent import monkey # 这俩行必须放在首行,下面就可以使用time(非gevent)的io# # monkey.patch_all() # 相当于 ...
分类:
其他好文 时间:
2018-06-19 22:48:18
阅读次数:
273
一、事件驱动与异步IO 回顾:同步、异步、阻塞、非阻塞 同步: 所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不会返回。按照这个定义,其实绝大多数函数都是同步调用。但是一般而言,我们在说同步、异步的时候,特指那些需要其他部件协作或者需要一定时间完成的任务。 举例: 1. multi ...
分类:
编程语言 时间:
2018-06-13 19:41:29
阅读次数:
269
市局双随机awr报告中有大量db file async I/O submit等待事件 参考两篇文章: 【案例】Oracle等待事件db file async I/O submit产生原因和解决办法 db file async I/O submit 等待事件优化 查看数据文件是否开启异步IO 查看两个 ...
分类:
数据库 时间:
2018-06-11 14:50:30
阅读次数:
207
阶段大纲: 一.爬虫 1.基本操作 —登录任意网站(伪造浏览器的任何行为) 2.性能相关 —并发方案: —异步IO:gevent/Twisted/asyncio/aiohttp —自定义异步IO 模块 —IO多路复用:select 3.Scrapy框架 介绍:异步IO:Twisted —基于scra ...
分类:
其他好文 时间:
2018-06-07 22:54:22
阅读次数:
202
一、node.js优缺点 node.js是单线程。 好处就是 1)简单 2)高性能,避免了频繁的线程切换开销 3)占用资源小,因为是单线程,在大负荷情况下,对内存占用仍然很低 3)线程安全,没有加锁、解锁、死锁这些问题 php node.js 坏处就是 如何解决高并发? node使用异步IO和事件驱 ...
分类:
Web程序 时间:
2018-06-07 14:14:37
阅读次数:
221
大家好,并发编程 进入第十章。好了,今天的内容其实还挺多的,我准备了三天,到今天才整理完毕。希望大家看完,有所收获的,能给小明一个赞。这就是对小明最大的鼓励了。为了更好地衔接这一节,我们先来回顾一下上一节的内容。 上一节「」,我们首先介绍了,如何创建一个协程对象.主要有两种方法 通过async关键字 ...
分类:
编程语言 时间:
2018-05-31 02:52:45
阅读次数:
325
详细带图 第一种IO模型 阻塞 第二种IO模型非阻塞IO原理:由阻塞改为非阻塞,每隔一段时间回来看看(每每看一次,内核态会发送一次系统调用),若没有干其他事情(适用于代码量小),进程主动轮询当服务器端套接字被setblocking(false),套接字为非阻塞套接字,当接收不到客户端链接时,直接触发 ...
分类:
编程语言 时间:
2018-05-29 01:39:02
阅读次数:
176