有专门讲python携程 异步,协程的书籍么

我们都知道并发(不是并行)编程目前有四种方式多进程,多线程异步,和协程

多进程编程在python携程中有类似C的/

运行python携程3 thread.py命令查看效果(记得先開网站服务器):

使用ThreadPool时它处理的对象可以不是线程对象,实际上Fetcher的线程部分ThreadPool根本用不到因为它自己内部已开了几个线程在等待任务輸入。这里偷个懒就只把self.start()去掉了可以把Fetcher的线程部分全去掉,效果是一样的

ThreadPool活用了map函数,这里它将每一个Fetcher对象分配给线程池中的一个线程线程调用了Fetcherrun函数。这里使用map_async是因为不希望它在那一步阻塞我们希望在任务队列join的地方阻塞,那么到队列为空且任务全部处理完时程序就会继续执行了

我们希望爬虫的性能能够进一步提升,但是我们没办法开太多的线程因为线程的内存开销很大,每创建一个线程鈳能需要占用50k的内存以及还有一点,网络程序的时间开销往往花在I/O上socket I/O 阻塞时的那段时间是完全被浪费了的。那么要如何解决这个问题呢

下节课你就知道啦,下节课见~

我要回帖

更多关于 python携程 的文章

 

随机推荐