上一页 1 ··· 145 146 147 148 149 150 151 152 153 ··· 234 下一页

2019年2月24日

Python协程 Gevent Eventlet Greenlet

摘要: https://zh.wikipedia.org/zh-cn/%E5%8D%8F%E7%A8%8B 协程可以理解为线程中的微线程,通过手动挂起函数的执行状态,在合适的时机再次激活继续运行,而不需要上下文切换。所以在python中使用协程会比线程性能更好。 Tornado协程 http://blog. 阅读全文

posted @ 2019-02-24 17:01 ExplorerMan 阅读(3505) 评论(0) 推荐(0)

python基于协程的网络库gevent、eventlet

摘要: python网络库也有了基于协程的实现,比较著名的是 gevent、eventlet 它两之间的关系可以参照 Comparing gevent to eventlet, 本文主要简单介绍一下eventlet一个例子 客户端: import eventletfrom eventlet.green im 阅读全文

posted @ 2019-02-24 16:57 ExplorerMan 阅读(431) 评论(0) 推荐(0)

python中多进程+协程的使用以及为什么要用它

摘要: 前面讲了为什么python里推荐用多进程而不是多线程,但是多进程也有其自己的限制:相比线程更加笨重、切换耗时更长,并且在python的多进程下,进程数量不推荐超过CPU核心数(一个进程只有一个GIL,所以一个进程只能跑满一个CPU),因为一个进程占用一个CPU时能充分利用机器的性能,但是进程多了就会 阅读全文

posted @ 2019-02-24 16:55 ExplorerMan 阅读(387) 评论(0) 推荐(0)

python爬虫——多线程+协程(threading+gevent)

摘要: 上一篇博客中我介绍了如何将爬虫改造为多进程爬虫,但是这种方法对爬虫效率的提升不是非常明显,而且占用电脑cpu较高,不是非常适用于爬虫。这篇博客中,我将介绍在爬虫中广泛运用的多线程+协程的解决方案,亲测可提高效率至少十倍以上。 本文既然提到了线程和协程,我觉得有必要在此对进程、线程、协程做一个简单的对 阅读全文

posted @ 2019-02-24 16:46 ExplorerMan 阅读(476) 评论(0) 推荐(0)

Python几种并发实现方案的性能比较

摘要: 偶然看到Erlang vs. Stackless python: a first benchmark,对Erlang和Stackless Python的并发处理性能进行了实验比较,基本结论认为二者有比较相近的性能。我看完产生的问题是,Stackless Python与Python的其他并发实现机制性 阅读全文

posted @ 2019-02-24 16:35 ExplorerMan 阅读(1597) 评论(1) 推荐(0)

Python threadpool传递参数

摘要: threadpool模块是一个很老的实现python线程池的模块,pypi已经建议用multiprocessing代替它了,但是,它使用的便捷性还是征服了一批忠实用户。 threadpool模块实现多线程只需要如下几行代码: 1 2 3 4 5 from threadpool import * po 阅读全文

posted @ 2019-02-24 15:24 ExplorerMan 阅读(674) 评论(0) 推荐(0)

python线程池(threadpool)模块使用笔记

摘要: 一、安装与简介 pip install threadpool 第一行定义了一个线程池,表示最多可以创建poolsize这么多线程; 第二行是调用makeRequests创建了要开启多线程的函数,以及函数相关参数和回调函数,其中回调函数可以不写,default是无,也就是说makeRequests只需 阅读全文

posted @ 2019-02-24 15:23 ExplorerMan 阅读(513) 评论(0) 推荐(0)

2019年2月23日

python下的select模块使用 以及epoll与select、poll的区别

摘要: python下的select模块使用 以及epoll与select、poll的区别 先说epoll与select、poll的区别(总结) 整理http://www.zhihu.com/question/32163005 http://www.cnblogs.com/Anker/p/3265058.h 阅读全文

posted @ 2019-02-23 21:06 ExplorerMan 阅读(845) 评论(0) 推荐(0)

python中的select模块

摘要: 介绍: Python中的select模块专注于I/O多路复用,提供了select poll epoll三个方法(其中后两个在Linux中可用,windows仅支持select),另外也提供了kqueue方法(freeBSD系统) select方法: 进程指定内核监听哪些文件描述符(最多监听1024个 阅读全文

posted @ 2019-02-23 20:22 ExplorerMan 阅读(816) 评论(0) 推荐(0)

2019年2月22日

Python中threading的join和setDaemon的区别及用法

摘要: Python多线程编程时经常会用到join()和setDaemon()方法,基本用法如下: join([time]): 等待至线程中止。这阻塞调用线程直至线程的join() 方法被调用中止-正常退出或者抛出未处理的异常-或者是可选的超时发生。 setDaemon,将该线程标记为守护线程或用户线程 1 阅读全文

posted @ 2019-02-22 15:11 ExplorerMan 阅读(149) 评论(0) 推荐(0)

上一页 1 ··· 145 146 147 148 149 150 151 152 153 ··· 234 下一页

导航