随笔分类 -  并发编程

asyncio 简单使用
摘要:import asyncio async def func(i, s): print(f'第{i}个协程启动了') await asyncio.sleep(s) async def main(): task = [] for i in range(100): task.append(func(i, 阅读全文

posted @ 2021-07-17 13:46 信奉上帝的小和尚 阅读(93) 评论(0) 推荐(0)

ThreadPoolExecutor/ProcessPoolExecutor不抛出异常的问题
摘要:from concurrent.futures import ThreadPoolExecutor, ProcessPoolExecutor """ 在使用线程池/进程池之后,如果任务函数中出现异常,如果不调用result异常并不会抛出,导致一种没有报错的假象 """ def func(): lst 阅读全文

posted @ 2020-09-01 09:32 信奉上帝的小和尚 阅读(1808) 评论(0) 推荐(0)

python Threadpoolexcutor导致内存爆满
摘要:原因:Threadpoolexcutor默认使用的是无界队列,如果消费任务的速度低于生产任务,那么会把生产任务无限添加到无界队列中。导致内存被占满 解决方案:修改无界队列为有界队列 from concurrent.futures import ThreadPoolExecutor import qu 阅读全文

posted @ 2020-04-22 15:20 信奉上帝的小和尚 阅读(1665) 评论(0) 推荐(1)

多线程
摘要:多线程的开启还有其他的一些普通方法跟多进程是一样的 下面说一些不一样的 守护线程 from threading import Thread import time ''' 守护线程跟守护进程不同的地方 守护进程:当主进程后面没有代码之后,守护进程结束 守护线程:当主进程后面没有代码并且所有线程执行结 阅读全文

posted @ 2019-07-24 15:26 信奉上帝的小和尚 阅读(134) 评论(0) 推荐(0)

Python多进程
摘要:普通方式开启进程 from multiprocessing import Process import os import time def fun(i): time.sleep(3) with open('text','r') as f: count = int(f.read()) count - 阅读全文

posted @ 2019-07-16 16:16 信奉上帝的小和尚 阅读(168) 评论(0) 推荐(0)

导航