
多任务编程
文章平均质量分 55
Threading、Processing、Gevent
FatPuffer
这个作者很懒,什么都没留下…
展开
-
协程asyncio异步编程
1.事件循环1.定义可以理解为一个死循环,去检测并执行某些代码任务列表 = [任务1, 任务2, 任务3,....]while True: 可执行任务列表, 已完成任务列表 = 检查任务列表中的所有任务, 将可执行和已完成的任务返回 for 就绪任务 in 可执行任务列表: 执行已就绪任务 for 已完成任务 in 已完成人物列表: 任务列表.remove(已完成任务) if not 任务列表: breakimport asyncio# 生成或获取一个事件循原创 2022-05-23 14:05:26 · 201 阅读 · 0 评论 -
python线程回调
import osimport timeimport randomimport requestsfrom threading import get_identfrom concurrent.futures import ThreadPoolExecutort_pool = ThreadPoolExecutor(os.cpu_count())def func(url): time.sleep(random.randint(1,2)) print("线程:{name},目标:原创 2021-12-20 18:58:27 · 1643 阅读 · 0 评论 -
IO多路复用之select
原理:I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪,能够通知程序进行相应的操作。select执行流程select需要提供要监控的数组,然后由用户态拷贝到内核态内核态线性循环监控数组,每次都需要遍历整个数组内核发现文件描述符状态符合操作结果,将其返回所以对于我们监控的socket都要设置为非阻塞的,只有这样才能保证不会被阻塞优点基本各个平台都支持缺点每次调用select,都需要把fd集合由用户态拷贝到内核态,在fd多的时候开销会很大单个进程能够监控的原创 2020-10-20 19:24:03 · 207 阅读 · 0 评论 -
python多任务编程之OS模块创建父子进程
os.fork()创建父子进程实现多任务编程import ospid = os.fork()if pid < 0: print(“创建进程失败”)elif pid == 0: print(“新创建的进程”)else: # 即pid大于0的代码块,可以在此代码块中获取新进程的进程号 print(“原来的进程”)功能:创建一个新的进程参数:无返回值:失败:返回...原创 2019-03-08 14:22:15 · 600 阅读 · 2 评论 -
多任务编程之线程Thread
多任务编程(1)意义1、可以充分利用计算机资源,提高程序运行效率(2)定义通过应用程序利用计算机的多个核心达到同时执行多个任务的目的,以此来提升程序的执行效率(3)实施方案3、多进程、多线程(4)并行多个计算机核心在同时处理多个任务,这多个任务间是并行关系(5)并发同时处理多个任务,在任务间不断的切换,达到好像都在处理运行的效果(6)进程程序在计算机中...原创 2019-04-02 12:07:16 · 231 阅读 · 0 评论 -
多线程Thread模块实现udp聊天器
1 import socket 2 import threading 3 ...原创 2019-04-02 12:10:19 · 254 阅读 · 0 评论 -
多任务编程之OS父子进程实现udp聊天室
功能需求进入聊天室前需要输入用户名有人进入聊天室会向其他用户发起通知XXX进入了聊天室一个人发消息,其他人都能收到XXX说:xxxxxx某个人退出聊天室,其他人也会收到通知XXX退出了聊天室管理员喊话功能:管理员发言所有客户端都能收到管理员 说:XXXXX服务端from socket import *import os, sysdef do_login(s, user, n...原创 2019-04-03 14:47:51 · 352 阅读 · 0 评论 -
多任务编程之进程Process
进程(1)进程程序在计算机中的一次计算过程,是一个动态的过程描述,进程是占有计算机资源的,有一定生命周期(2)程序是一个可执行文件,是静态的,占有磁盘,不占计算机的运行资源(3)注意同一个程序的不同运行过程是不同的进程,因为分配的计算机资源不同,生命周期也不同(4)进程创建流程用户空间运行一个程序,发起进程的创建操作系统接受用户申请,开启进程创建操作系统分配计算机...原创 2019-04-03 15:59:14 · 366 阅读 · 0 评论 -
进程间通讯方式
1、管道通讯:Pipe(1)原理在内存中开辟一块空间,形成管道结构,管道对多个进程可见,进程可以通过对管道的读写操作进行通信(2)流程创建管道from multiprocessing import Pipe# 创建管道fd1, fd2 = Pipe() 功能:创建一个管道 &n...原创 2019-04-03 17:34:46 · 319 阅读 · 0 评论