并不是往通道里放多少次数据,就必须取多次少数据的(之前的例子都是放3次取3次,放10次取10次),我们可以做一个操作,当子协程没有新放入的时候,主协程不再去取,这就是关闭通道 执行结果 ...
分类:
其他好文 时间:
2018-09-19 16:25:47
阅读次数:
284
python多线程适合IO密集型场景,而在CPU密集型场景,并不能充分利用多核CPU,而协程本质基于线程,同样不能充分发挥多核的优势。 针对计算密集型场景需要使用多进程,python的multiprocessing与threading模块非常相似,支持用进程池的方式批量创建子进程。 示例代码: 注意 ...
分类:
编程语言 时间:
2018-09-19 16:10:32
阅读次数:
200
最近东西积攒了太多,感觉再不写进来就要炸了。 1.多线程 1.11 关于多线程的包 相关的python包有几个,比如thread包,到py3改成_thread,而thread有一些问题使得不是很好用。通用的包叫threading。最近都是在用这个。 1.12 threading的使用和常用属性 需要 ...
分类:
编程语言 时间:
2018-09-19 01:22:19
阅读次数:
192
执行的结果 这里有一点需要注意的是:在一个程序启动时,其主函数即在一个单独的goroutine中运行,我们叫它main goroutine,新的goroutine会用go语句来创建,当主协程(main goroutine)退出时,其它的子协程也会退出,验证一下 执行结果 被调用的匿名函数是无限循环, ...
分类:
其他好文 时间:
2018-09-18 19:06:00
阅读次数:
154
importtime#列表生成式t=[i*2foriinrange(10)]print(t)print(t[8])生成器:只有在调用的时候生成相应的数据,一种算法。#只记住当前位置,只有一个next方法,取下一个值这个值就是当前值!。只能记住当前的!前面的数据不保存,后面的数据没生成。c=(i*2foriinrange(100000000))print(c)#斐波那契deffib(max):n,a
分类:
其他好文 时间:
2018-09-17 22:13:41
阅读次数:
173
并发编程--协程: 引子 协程介绍 Greenlet Gevent介绍 Gevent之同步与异步 Gevent之应用举例一 Gevent之应用举例二 引子 协程介绍 Greenlet Gevent介绍 Gevent之同步与异步 Gevent之应用举例一 Gevent之应用举例二 一、引子 本节的主题 ...
分类:
编程语言 时间:
2018-09-16 16:04:22
阅读次数:
170
1.socket发送请求 单线程的并发 2.协程 协程的IO切换 ...
分类:
其他好文 时间:
2018-09-13 21:39:46
阅读次数:
164
一. IO多路复用 IO多路复用作用:检测多个socket是否已经发生变化(是否已经连接成功/是否已经获取数据)(可读/可写) 二. 基于IO多路复用+socket实现并发请求(一个线程100个请求) IO多路复用 socket非阻塞 基于事件循环实现的异步非阻塞框架:aaaa.py 非阻塞:不等待 ...
分类:
编程语言 时间:
2018-09-13 20:50:34
阅读次数:
194
http://www.cnblogs.com/alex3714/articles/5876749.html http://www.cnblogs.com/Eva-J/articles/8324837.html http://www.cnblogs.com/linhaifeng/articles/68 ...
分类:
其他好文 时间:
2018-09-13 20:11:12
阅读次数:
187
恢复内容开始 思想 class Foo(object): def __init__(self,lst,eat): self.eat = eat self.lst = lst def append(self,n): print(n+1) self.lst.append(3) lst1= [1,2,3, ...
分类:
其他好文 时间:
2018-09-13 18:36:45
阅读次数:
184