摘要: 1 """ 2 进程间通信 3 """ 4 import time 5 from multiprocessing import Pool, Queue, Process 6 7 8 def pull_task(q: Queue): 9 tasks = ["任务1", "任务2", "任务3", "任 阅读全文
posted @ 2020-05-30 12:40 乘风去破浪 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 1 """ 2 队列 3 q = Queue(5) # 创建一个最大容量为5的队列,先进先出的原则 4 q.put("1") # 添加元素,队列数量满了的时候,会堵在put处 5 q.put("1", timeout=3) # 如果超出3秒没有加入进去就会报错 6 q.put_nowait("6") 阅读全文
posted @ 2020-05-30 12:39 乘风去破浪 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 1 """ 2 阻塞模式:一个一个任务单独放进进程池,处理完一个再放下一个任务进来,主进程要等着些执行完再执行 3 """ 4 5 import os 6 import time 7 from multiprocessing import Pool 8 from random import rand 阅读全文
posted @ 2020-05-30 12:26 乘风去破浪 阅读(485) 评论(0) 推荐(0) 编辑
摘要: 1 """ 2 非阻塞模式:当进程池有空闲,就将任务放入,它会继续执行主进程 3 """ 4 import os 5 import time 6 from multiprocessing import Pool 7 from random import random 8 9 container = 阅读全文
posted @ 2020-05-30 12:11 乘风去破浪 阅读(980) 评论(0) 推荐(0) 编辑
摘要: 1 """ 2 python的线程和java的线程是有差别的, 3 python的进程更像java的线程 4 线程状态:创建 -> 就绪或运行或阻塞 -> 结束 5 6 优点: 7 在一些等待的任务上有优势,如用户输入、文件读写、网络收发数据等。在这些情况下可以释放珍贵的内存cpu资源 8 9 常用 阅读全文
posted @ 2020-05-30 12:10 乘风去破浪 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 计算密集型的部分适合使用进程,耗时的部分适合使用线程 1 from multiprocessing import Pool 2 3 # 创建一个进程池,里面放5个进程 4 pool = Pool(5) 5 6 # 阻塞模式 7 pool.apply(task, args=(t,)) 8 9 # 非阻 阅读全文
posted @ 2020-05-30 12:01 乘风去破浪 阅读(153) 评论(0) 推荐(0) 编辑