本文主要是介绍python 强大的multiprocessing模块 线程和进行优点的集合,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、python中进程中的应用
在进程中开启子线程中的fork方法只适合于基于unix的系统,在unix系统中
# Unix系统中,Windows不通过
import osif __name__ == '__main__':pid = os.fork()if pid == 0:# 如果pid为0时,该进程为子进程print("Pid:",os.getpid())else:# 如果pid不为0,那么该进行为父进程,pid为子线程pidprint("Pid:",os.getpid())
用fork开启子线程的方法只使用于基于Unix系统中,在fork的子进程中,会复制整个进程的信息,开启新的线程。在fork的应用中,有个基本的用法,就是fork+exec的组合
# 文件名:child.py
# 只适合于Unix系统
import os
import sysname = sys.args[1]if __name__ == '__main__':print("Child Pid:"+os.getpid()+" Name:"+name)# 文件名:parents
# 只适合Unix系统
import osif __name__ == '__main__':pid = os.fork()if pid == 0:os.execlp('python','python','child.py','parents')else:print('Child pid:'+os.getpid())
但是分支进程的方法只适应于基于Unix系统上,window上却不使用,可移植性比较差。
二、python中线程的应用
python的线程可以具有很好的可移植性,可以在各个平台上执行。python执行线程主要两个主要的方法。_threading和thread类的基本应用。
# 在基于Unix的系统和Windows系统里都可以import os
import _threading as threaddef child(para):print("Parameter:"+para)def parent():for i in range(5):thread.start_new_thread(child,(i,))if __name__ == '__main__':parent()
这篇关于python 强大的multiprocessing模块 线程和进行优点的集合的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!