一、python中进程中的应用
在进程中开启子线程中的fork方法只适合于基于unix的系统,在unix系统中
# Unix系统中,Windows不通过
import os
if __name__ == '__main__':
pid = os.fork()
if pid == 0:
# 如果pid为0时,该进程为子进程
print("Pid:",os.getpid())
else:
# 如果pid不为0,那么该进行为父进程,pid为子线程pid
print("Pid:",os.getpid())
用fork开启子线程的方法只使用于基于Unix系统中,在fork的子进程中,会复制整个进程的信息,开启新的线程。在fork的应用中,有个基本的用法,就是fork+exec的组合
# 文件名:child.py
# 只适合于Unix系统
import os
import sys
name = sys.args[1]
if __name__ == '__main__':
print("Child Pid:"+os.getpid()+" Name:"+name)
# 文件名:parents
# 只适合Unix系统
import os
if __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 thread
def child(para):
print("Parameter:"+para)
def parent():
for i in range(5):
thread.start_new_thread(child,(i,))
if __name__ == '__main__':
parent()