文章目录
article
并发
AI文章摘要
gemini-2.0-flash-lite
这篇文章介绍了Python中关于进程、线程和协程的概念和用法。具体来说,它阐述了:
- Process类:继承自BaseProcess类,用于创建进程。进程间不共享数据,主进程会等待子进程结束。它提供了
start()、join()和terminate()等方法。 - Thread类:线程共享进程内的变量,数据共享。也提供了
start()、join()和terminate()等方法。 - Lock类:提供了
lock()和release()方法。 - coroutine(协程):使用
async标识,只能使用await调用等待对象,可等待对象包括协程、任务和future。- 可等待对象:包括协程、任务和future。任务用于封装和调度协程,实现并行调度和取消协程。
Process类
Process类继承自BaseProcess类, 它的主要函数来自BaseProcess类, 进程间拥有相同的主进程内定义的变量, 但数据并不共享. 主进程等待所有子进程执行结束才中止, 可以手动中止进程或设置子进程为守护进程 使用processing模块中的current_process函数获取当前位置获得的进程
- 构造函数:
- init(self, group=None, target=None, name=None, args=(),kwargs={}, *, daemon=None)
- 成员函数:
- start(): 开启进程
- join(): 等待进程中止
- terminate(): 中止进程
Thread类
线程共享当前进程内定义的变量, 数据共享 使用threading模块中的current_thread函数获取当前位置获得的线程
- 构造函数:
- Thread(self, group=None, target=None, name=None, args=(),kwargs={}, *, daemon=None)
- 成员函数:
- start(): 开启进程
- join(): 等待进程中止
- terminate(): 中止进程
2. Lock类
- 构造函数:
- 成员函数:
- lock()
- release()
coroutine
- 协程使用async标识
- 协程只能使用await调用等待对象,可等待对象有协程、任务、future
- await asyncio.sleep(1)
可等待对象
- 协程、
- 任务: 任务可以封装并调度协程,用来并行调度协程,也可以取消协程
- future