python 进程
计算密集型的部分适合使用进程,耗时的部分适合使用线程
1 from multiprocessing import Pool 2 3 # 创建一个进程池,里面放5个进程 4 pool = Pool(5) 5 6 # 阻塞模式 7 pool.apply(task, args=(t,)) 8 9 # 非阻塞模式 10 pool.apply_async(task, args=(t,), callback=callback_func) 11 12 pool.close() # 当进程池close的时候并未关闭进程池,只是会把状态改为不可再插入元素的状态,完全关闭进程池使用 13 14 pool.join() # 阻塞模式的只有当它里面的任务全部都执行完,才继续,所以不需要这步
from multiprocessing import Process class MyProcess(Process): def run(self): print("this is MyProcess") def abc(who, sd): print("{} this is {}".format(sd, who)) if __name__ == '__main__': # 创建进程子类 p = MyProcess() p.start() # 直接将方法abc放进线程 p1 = Process(target=abc, name="进程名", args=("abc", "hi")) p1.start()