🤖 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