进程是一个程序在数据上的一次动态执行过程,是计算机资源分配的基本单位。而多进程一般用于优化计算机资源分配。
多进程:
创建:
from multiprocessing import Process #导入多进程模块
def run_print(a):
'''这是用于运行多进程的函数'''
print('传入的参数为:%s'%a)
print('多进程创建成功!')
if __name__ == '__main__':
print('创建进程开始!')
p = Process(target=run_print,name='进程1',args=(1,))
#这里创建一个名字为进程1的进程 运行的函数是run_print,传入的参数是1
p.start() #开始运行进程1
p.join() #命令用于在子进程运行完成后运行父进程。不然会同时结束,并不运行后面的命令
print('进程运行结束!')
运行结果为:
创建进程开始!
传入的参数为:1
多进程创建成功!
进程运行结束!
多线程
创建:
from threading import Thread #导入多进程模块
def run_print(a):
'''这是用于运行多线程的函数'''
print('传入的参数为:%s'%a)
print('多线程创建成功!')
if __name__ == '__main__':
print('创建线程开始!')
p = Process(target=run_print,name='线程1',args=(1,))
#这里创建一个名字为线程1的线程 运行的函数是run_print,传入的参数是1
p.start() #开始运行线程1
p.join() #命令用于在子线程运行完成后运行父进程。不然会同时结束,并不运行后面的命令
print('线程运行结束!')
多线程和多进程的创建实际上方式上是差不多的,用法也有相似之处,不过,多线程可以控制全局变量,多进程不能。而且多进程只能在 if name == ‘main’:之后才能正常运行。