Python中协同程序的并行编程

Python中协同程序的并行编程,python,parallel-processing,coroutine,concurrency,Python,Parallel Processing,Coroutine,Concurrency,协同程序是简化并发编程的一个很好的范例。大多数情况下,并发任务很容易并行化。在语言中,很容易使用goroutines执行并行任务。在Python中有没有一种方法可以做同样的事情,例如使用协同路由来创建进程并对其进行同步?是的,Python在库和生成器中支持协同路由:例如,请参阅库。此外,还有一个名为的派生工具,它内置了对多个并发编程特性的支持,例如微线程和通道 请注意,在默认的CPython中,全局解释器锁一次只允许运行一个线程,这可能是一个问题。如果您想使用标准的python解释器,green

协同程序是简化并发编程的一个很好的范例。大多数情况下,并发任务很容易并行化。在语言中,很容易使用goroutines执行并行任务。在Python中有没有一种方法可以做同样的事情,例如使用协同路由来创建进程并对其进行同步?

是的,Python在库和生成器中支持协同路由:例如,请参阅库。此外,还有一个名为的派生工具,它内置了对多个并发编程特性的支持,例如微线程和通道


请注意,在默认的CPython中,全局解释器锁一次只允许运行一个线程,这可能是一个问题。

如果您想使用标准的python解释器,greenlet库是一个不错的选择

至于吉尔,这对合作伙伴来说应该不是问题。可以将GrimeLeo协同程序模型视为在一个内核线程中运行的多个轻量级用户空间的线程。所以从GIL和OS的角度来看,它仍然是单线程的