代码创建进程和线程的两种方式
"""
定心丸:Python创建进程和线程的方式基本都是一致的,包括其中的调用方法等,学会一个
另一个自然也就会了。
"""
很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:101677771
1.创建进程的两种方式
方式一
importos
importtime
frommultiprocessingimportProcess
# 实例化一个multiprocessing.Process的对象,并传入一个初始化函数对象
deftask(name):
print(f'进程 的PID为,父进程ID为 ')
time.sleep(2)
print(f'进程 的PID为 运行结束')
if__name__ =='__main__':
# 此处要注意,windows下开启进程一定要在main方法下开启
process1 = Process(target=task, args=('1',))
process2 = Process(target=task, args=('2',))
# 启动进程
process1.start()# 告诉操作系统帮你创建一个进程
process2.start()
print(f'主进程 ')
方式二
importos
importtime
frommultiprocessingimportProcess
# 继承类的方式去创建
classMyProcess(Process):
def__init__(self, name):
# 继承Process中的__init__()
super(MyProcess, self).__init__()
self.name = name
# 此处必要在该类中创建run方法 重写run方法
defrun(self):
print(f'进程 的PID为,父进程ID为 ')
time.sleep(2)
print(f'进程 的PID为 运行结束')
if__name__ =='__main__':
# 创建两个进程
process1 = MyProcess('1')
process2 = MyProcess('2')
# 开启这两个进程
process1.start()
process2.start()
print(f'主进程 ')
运行结果如下:
"""
主进程 2776
进程 1 的PID为9364,父进程ID为 2776
进程 2 的PID为4140,父进程ID为 2776
进程 1 的PID为9364 运行结束进程 2 的PID为4140 运行结束
"""
2.创建线程的两种方式
方式一
importtime
fromthreadingimportThread
# 实例化一个multiprocessing.Process的对象,并传入一个初始化函数对象
deftask(name):
print(f"线程 is running")
time.sleep(2)
print(f"线程 is over")
if__name__ =='__main__':
# 开启线程不需要在main下面执行代码,直接书写就可以
# 但是还是习惯性的将启动命令写在main下面
# 创建两个线程
thead1 = Thread(target=task, args=('1',))
thead2 = Thread(target=task, args=('2',))
# 开启两个线程
thead1.start()# 创建线程的开销非常小,几乎代码一执行线程就创建了
thead2.start()
print("主")
方式二
importtime
fromthreadingimportThread
# 继承类的方式去创建
classMyThead(Thread):
def__init__(self, name):
# 继承Process中的__init__()
super(MyThead, self).__init__()
self.name = name
# 此处必要在该类中创建run方法 重写run方法
defrun(self):
print(f"线程 is running")
time.sleep(2)
print(f"线程 is over")
if__name__ =='__main__':
# 创建两个线程
thead1 = MyThead('1')
thead2 = MyThead('1')
# 开启这两个线程
thead1.start()
thead2.start()
print('主')
输出结果为如下:
"""
线程 1 is running
主
线程 2 is running
线程 1 is over线程 2 is over
"""
上方只是简单的创建进程和线程,以上注释只是个人理解,不足的地方还望见谅,欢迎补充
领取专属 10元无门槛券
私享最新 技术干货