记录一下最近的学习:
在使用python进行多线程编程的时候发现,无论生成几个线程,cpu占用率都保持在单核满载的情况,了解到python的多线其实是伪多线程,真正的运行还是在单核执行,想要完全发挥出多线程的优势,需要使用多进程编程,多进程的编程方式和多线程几乎一样,如下为多进程建议代码:
import threading
import multiprocessing
def a ():
while True:
pass
if __name__ == "__main__" :
pocess1 = multiprocessing.Process(target= a)
pocess2 = multiprocessing.Process(target= a)
pocess3 = multiprocessing.Process(target= a)
pocess1.start()
pocess2.start()
pocess3.start()
多进程和多线程的区别:多进程类似于多开应用,属于真正的多核任务,各个进程有独立的资源分配,因此跨进程内存共享需要有专用多进程库支持,存在于multiprocessing中的Value 和 Array 模块。而多线程共享资源,内存数据可以共同操作,只需要注意数据安全问题即可