内存使用量少,几k vs 至少1MB 可增长的分段堆栈 启动时间比线程快 在共享数据结构时避免使用互斥锁 https://medium.com/@kevalpatel2106/why-should-you-learn-go-f607681fad65 非常快速的上下文切换 没有并发问题 选择您的调度程 ...
分类:
编程语言 时间:
2019-07-27 09:44:38
阅读次数:
398
目录 python基础字符编码python2和python3的区别python2和python3中编码转换深拷贝、浅拷贝select、poll 、epoll(同步io)进程(资源分配的单位)、线程(操作系统调度的最小单位)、协程进程: 一个在运行的程序 系统给他分配资源 (运行在内存) 提资源线程: ...
分类:
编程语言 时间:
2019-07-25 09:14:31
阅读次数:
109
两个学习gevent的网址: [1] http://www.gevent.org/intro.html [2] https://sdiehl.github.io/gevent-tutorial/ ...
分类:
编程语言 时间:
2019-07-25 00:04:07
阅读次数:
117
背景知识 这里先给出一些常用的知识点简要说明,以便理解后面的文章内容。 进程的定义: 进程,是计算机中已运行程序的实体。程序本身只是指令、数据及其组织形式的描述,进程才是程序的真正运行实例。 线程的定义: 操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。 进程和线程的 ...
分类:
编程语言 时间:
2019-07-23 00:09:31
阅读次数:
121
go关键字可以用来开启一个goroutine(协程))进行任务处理,而多个任务之间如果需要通信,就需要用到channel了。 上面这个简单的例子就是新开启的goroutine向intChan发送了一个1的值,那么在主线程的intChan就会收到这个值的信息。 channel类型:无缓冲和缓冲类型ch ...
分类:
其他好文 时间:
2019-07-21 01:15:26
阅读次数:
85
更高效的异步爬虫 import asyncio import aiohttp import time #回调函数:解析响应的数据 def callback(task): print("这是解析的回调") #获取到响应数据 page_text = task.result() # print("进行解析 ...
分类:
编程语言 时间:
2019-07-19 12:11:01
阅读次数:
108
都知道Python非常适合初学者学习来入门编程,昨天有伙伴留言说面试了Python岗位,问及了一个关于协程的问题,想了想还是跟大家出一篇协程相关的文章和在Python面试中可能会问及的相关面试问题。都是根据我自己的Python学习经验来写的,有这方面需求的伙伴可以认真阅读,也欢迎补充不足之处! 一、 ...
分类:
编程语言 时间:
2019-07-16 12:45:02
阅读次数:
97
monkey patch 一般指运行时候进行动态替换. 基本上我们使用gevent,会在最开头的地方加入 ;把标准库中的 等给替换掉.这样我们在后面使用socket的时候它会变成非阻塞的了.而我们却什么也不用做. 一个案列 最快访问结束的会在第一位,最慢的会在最后一位. 输出结果: ...
分类:
编程语言 时间:
2019-07-16 08:42:28
阅读次数:
105
一: 进程、线程 和 协程 之间概念的区别: 对于 进程、线程,都是有内核进行调度,有 CPU 时间片的概念,进行 抢占式调度(有多种调度算法) (补充: 抢占式调度与非抢占(轮询任务调度)区别在于抢占式调度可以因为优先级高的任务抢占cpu,而轮询的不能) 对于 协程(用户级线程),这是对内核透明的 ...
分类:
其他好文 时间:
2019-07-15 22:33:31
阅读次数:
77
首先,给出“进程、线程和协程”的特点: 进程:拥有自己独立的堆和栈,既不共享堆,也不共享栈,进程由操作系统调度; 线程:拥有自己独立的栈和共享的堆,共享堆,不共享栈,标准线程由操作系统调度; 协程:拥有自己独立的栈和共享的堆,共享堆,不共享栈,协程由程序员在协程的代码里显示调度 ...
分类:
编程语言 时间:
2019-07-15 20:05:43
阅读次数:
121