Python多进程
1.用os.fock函数
2.使用multiprocessing模块
方法1只能在linux系统中使用
方法2提供了跨平台的多线程模块
#coding:utf-8
from multiprocessing import Process
from time import sleep
def func(num):
print '进程%d开始'%(num)
sleep(num)
print '进程结束'
num = 5
for i in range(1,num+1):
p = Process(target=func,args=(i,))
p.start()
#p.join()#添加这句会等待子线程结束之后主线程再结束
还有通过继承的方式实现多进程
#coding:utf-8
from multiprocessing import Process
from time import sleep
def func(num):
print '线程%d开始'%(num)
sleep(num)
print '线程%d结束'%(num)
class MyProcess(Process):
def __init__(self,num):
super(MyProcess,self).__init__()#必须先调用父方法
self.num = num
def run(self):
#重写run方法
func(self.num)
for i in range(1,6):
p = MyProcess(i)
p.start()
在用多进程计算阶乘的时候,碰到了最大递归深度的问题,可以使用如下代码解决
import sys
sys.setrecursionlimit(100000)#但是这有最大限制次数
Python多线程
Python提供了threading模块提供多线程支持
方法也有传入函数和继承两种,用法多类似多进程Thread
来源:CSDN
作者:枫·羽
链接:https://blog.csdn.net/qq_38383364/article/details/104195815