一,线程与进程的区别
纲领:进程是资源分配的最小单位,线程是CPU调度的最小单位

听老师傅说,在python上线程作用不大,最好还是使用多进程。
二,简单使用multiprocessing
检测一下电脑性能如何:
import multiprocessing
print('子进程的列表:{}'.format(multiprocessing.active_children()))
print('电脑的CPU数量:{}'.format(multiprocessing.cpu_count()))
print('现在运行的进程:{}'.format(multiprocessing.current_process()))
简单使用一下多进程:
from multiprocessing import Process
def fun(arg):
    print('hellow world:', arg)
if __name__ == '__main__':
    # 通过对Process类进行实例化创建一个子进程
    p = Process(target=fun1, args=("balala",))
    p.start()# 进程开始
    p.join() # 进程等待p停止,才执行下一行代码
    print('end')
三,多次调用一个函数
from multiprocessing import Process
def fun(arg):
    print('hellow world:', arg)
if __name__ == '__main__':
    # 通过对Process类进行实例化创建一个子进程
    pros = []
    for i in range(4):
        p = Process(target=fun1, args=("balala",))
        p.start()# 进程开始
        pros.append(p)
    for pro in pros:
        pro.join() # 进程等待p停止,才执行下一行代码
    print('end')
四,多进程共享字典
from multiprocessing import Process, Manager
def fun(arg):
    print('hellow world:', arg)
    ans[arg] = arg
if __name__ == '__main__':
    # 通过对Process类进行实例化创建一个子进程
    pros = []
    ans = Manager().dict()
    for i in range(4):
        p = Process(target=fun1, args=("balala",))
        p.start()# 进程开始
        pros.append(p)
    for pro in pros:
        pro.join() # 进程等待p停止,才执行下一行代码
    print('end')
    print(ans)
应该不会报错吧?!?







![[数据集][目标检测]工程机械车辆检测数据集VOC+YOLO格式3189张10类别](https://i-blog.csdnimg.cn/direct/3e6cd846b25148a99f7521686daa0036.png)








![[Algorithm][贪心][跳跃游戏][加油站][单调递增的数字][坏了的计算器]详细讲解](https://i-blog.csdnimg.cn/direct/53e8ddde95b74d5595fdafe30377c4e2.png)


![[数据集][目标检测]快递包裹检测数据集VOC+YOLO格式5382张1类别](https://i-blog.csdnimg.cn/direct/77c5fbebce094277940039df81401882.jpeg)