一、python多线程其实在底层来说只是单线程,因此python多线程也称为假线程,之所以用多线程的意义是因为线程不停的切换这样比串行还是要快很多。python多线程中只要涉及到io或者sleep就会切换线程。因此在io密集型的情况下可以用多线程。
二、python的多进程是直接调用原生进程,相当于直接调用硬件资源,可以实现多核的功能。
1、启动两个进程
1 #!/usr/bin/python 2 # -*- coding : utf-8 -*- 3 # 作者: Presley 4 # 时间: 2018-11-26 5 # 邮箱:1209989516@qq.com 6 # 这是我用来练习python多进程的测试脚本 7 8 from multiprocessing import Process 9 import time 10 11 def f(name): 12 time.sleep(2) 13 print("hello",name) 14 15 if __name__ == "__main__": 16 p = Process(target=f,args=("bob",)) 17 p2 = Process(target=f, args=("bob",)) 18 p.start() 19 p2.start() 20 p.join()
2、启动子进程
1 #!/usr/bin/python 2 # -*- coding : utf-8 -*- 3 # 作者: Presley 4 # 时间: 2018-11-26 5 # 邮箱:1209989516@qq.com 6 # 这是我用来练习python多进程的测试脚本 7 8 from multiprocessing import Process 9 import os 10 11 def info(title): 12 print(title) 13 print("module name:",__name__) 14 print("parent process:",os.getppid()) 15 print("process id:",os.getpid()) 16 print(" ") 17 18 def f(name): 19 info("