我正在学习如何使用Python中threading的multiprocessing模块和并行运行某些操作并加快我的代码.
我发现这很难(可能因为我没有任何理论背景)来理解一个threading.Thread()对象和一个对象之间的区别multiprocessing.Process().
此外,我并不完全清楚如何实例化一个作业队列,并且只有4个(例如)它们并行运行,而另一个则在执行之前等待资源释放.
我发现文档中的示例清晰,但不是很详尽; 一旦我尝试使事情复杂化,我就会收到许多奇怪的错误(比如一种无法腌制的方法,等等).
那么,我什么时候应该使用threading和multiprocessing模块?
您能否将我链接到一些资源,解释这两个模块背后的概念以及如何正确使用它们来完成复杂的任务?
python parallel-processing multithreading process multiprocessing
正如我已经读到的那样,对于多进程应用程序,单个CPU一次只能处理一个任务,在两个进程之间切换上下文.在多线程应用程序中,单个CPU可以处理多个线程.我不明白.如果只有一个CPU,CPU是否一次处理一个线程?如果是,如果CPU可以一次处理一件事,那么多线程应用程序与多进程应用程序的优势在哪里.