文章分类 - Python 并发编程
摘要:协程 定义: 协程 是为非抢占式多任务产生子程序的计算机程序组件,协程允许不同入口点在不同的位置暂停或开始执行程序。 从技术角度讲,协程就是一个你可以暂停执行的函数,或者干脆吧协程理解成生成器 协程的实现: yield返回 send调用 协程终止 协程中未处理的异常会向上冒泡,传给 next 函数或
阅读全文
摘要:##Python 主线程和子线程的结束顺序 ###设置守护主线程 要想主线程不等待子线程执行完成可以设置守护主线程。
阅读全文
摘要:##Python 创建多进程执行多任务 ###一、进程的创建步骤 导入进程包 import multiprocessing 通过进程类创建进程对象 进程对象 = multiprocessing.Process(target=任务名) 参数名 说明 target 执行的目标任务名,这里指的是函数名或方
阅读全文
摘要:##subprocess 模块 允许你生成新的进程 连接它们的输入、输出、错误管道V 并且获取它们的返回码 将输出到控制台上的信息指定输出到图形界面 几个应用场景: 每天定时8:00自动打开酷狗音乐播放歌曲 调用7z.exe自动解压缩.7z文件 通过Python远程提交一个torrent种子文件,
阅读全文
摘要:##Python 异步IO实现并发爬虫 ###Python 异步IO库 :asyncio import asyncio # 获得事件循环 loop = asyncio.get_event_loop() # 定义协程 async def myfunc(url): await get_url(url)
阅读全文
摘要:###多进程multiprocessing知识梳理( 对比多线程threading ) 语法条目 多线程 多进程 引入模块 from threading import Thread from multiprocessing import Process 新建启动等待结束 t=Thread (targ
阅读全文
摘要:##Python 线程池ThreadPoolExecutor ###使用线程池的好处 提升性能:因为减去了大量新建、终止线程的开销,重用了线程资源 适用场景:适合处理突发性大量请求或需要大量线程完成任务、但实际任务处理时间较短) 防御功能:能有效避免系统因为创建线程过多,而导致系统负荷过大相应变慢等
阅读全文
摘要:##Python 创建多线程执行多任务 ###线程的创建步骤: 导入线程模块 import threading 通过线程类创建线程对象 线程对象 = threading.Thread(target=任务名) 参数名 说明 target 执行的目标任务名,这里指的是函数名或方法名 name 进程名,一
阅读全文
摘要:###Python 并发编程的三种方式 多线程 Thread 多进程 Process 多协程 Coroutine ###CPU密集型计算、IO密集型计算 CPU密集型( CPU-bound) : CPU密集型也叫计算密集型,是指I/O在很短的时间就可以完成,CPU需要大量的计算和处理,特点是CPU占
阅读全文
摘要:##Python 对并发编程的支持 多线程: threading, 利用CPU和IO可以同时执行的原理,让CPU不会干巴巴等待IO完成 多进程: multiprocessing, 利用多核CPU的能力,真正的并行执行任务 异步IO: asyncio, 在单线程利用CPU和IO同时执行的原理,实现函数
阅读全文
摘要:##Python中的多进程 Unix/Linux操作系统提供了一个fork()系统调用,它非常特殊。普通的函数调用,调用一次,返回一次,但是fork()调用一次,返回两次,因为操作系统自动把当前进程(称为父进程)复制了一份(称为子进程),然后,分别在父进程和子进程内返回 子进程永远返回0,而父进程返
阅读全文

浙公网安备 33010602011771号