
对于在下来说, 进行并发编程这件事儿,其实还是可以借助好多种法子去完成的。眼下这里所罗列出来的那些个办法当中有两样, 是平日里用得比较多的, 一个是多线程那个玩意儿, 另一个就是异步编程这个东西。多线程的模块准许你建立若干个线程, 以便去同时进行各种任务的操作。下面是一个比较直白的基础示例:import threadingdef worker(num):线程任务print(fWorker: {num})threads []for i in range(5):t threading.Thread(targetworker, args(i,))threads.append(t)t.start()for t in threads:t.join()print(Finished all threads)不过, 大家一定要搞清楚一个问题, 这个全局解释锁, 是存在的, 因为有了它, 你在用多线程的时候, 可能就没法把多核CPU那点优势给完全利用起来。所以说, 要是你遇到的任务是那种算得特别多的计算密集型任务的话, 用多线程这种方法往往就不怎么样了, 不是最好的选择。异步编程异步编程是一种效率更高的并发处理手段。它支持让你在单个线程之中同时开展多个任务。该库提供了对异步编程的支持功能。接下来会展示一个简单示例。import asyncioasync def worker(num):异步任务print(fWorker: {num})await asyncio.sleep(1)async def main():tasks [worker(i) for i in range(5)]await asyncio.gather(*tasks)asyncio.run(main())print(Finished all tasks)在这么个场合里, 大家是用了带有小括号的那个方法, 好让多个异步操作一块儿同时进行, 这样做能把计算机处理器的能力使劲用够, 进而就把整个流程跑得更快了。总而言之, 在下我进行这种并发编程的操作, 你可以根据你所处理的那些任务自身所具备的特征, 去选择一下那个比较合适的方法。如果说, 碰到的是那些输入输出类型密集型的任务的话, 那么用多线程以及那种异步编程的方式, 都属于是比较不错的选择范畴的一种而倘若说是遇到那种计算类型密集型的任务的情况, 就可以考虑着去使用多进程这种方法了或者是去选用其它一些并行计算的库啊比如什么之类的东西。