1.1进程对象属性
"""
进程对象属性
"""
from multiprocessing import Process
from time import sleep
def fun():
print('进程对象属性测试')
sleep(3)
print('进程结束')
p = Process(target=fun,name = "tedu")
p.start()
print('PID:', p.pid)
print('Name:', p.name)
运行结果:
RuntimeError:
我也不知道为什么上面我的会报错 老师的就可以 或许有大佬看见了能解释一下吗TT
解决方案:
"""
进程对象属性
"""
import multiprocessing as mp
from multiprocessing import Process as Process
from time import sleep
def fun():
print('进程对象属性测试')
sleep(3)
print('进程结束')
def main():
p = Process(target=fun, name="tedu")
# 子进程随父进程结束
# p.daemon = True
p.start()
print('PID:', p.pid)
print('Name:', p.name)
if __name__ == '__main__':
main()
运行结果:
PID: 12884
Name: tedu
进程对象属性测试
进程结束
Process finished with exit code 0
"""
进程对象属性
"""
import multiprocessing as mp
from multiprocessing import Process as Process
from time import sleep
def fun():
print('进程对象属性测试')
print(mp.current_process().name)
sleep(3)
print('进程结束')
def main():
p = Process(target=fun, name="tedu")
p.start()
print('PID:', p.pid)
print('Name:', p.name)
print('is alive:', p.is_alive())
if __name__ == '__main__':
main()
运行结果:
PID: 13024
Name: tedu
is alive: True
进程对象属性测试
tedu
进程结束
Process finished with exit code 0
1.2 自定义进程类
"""
自定义进程类
"""
from multiprocessing import Process
class MyProcess(Process):
def __init__(self, value):
self.value = value
super().__init__() # 继承父类
def fun1(self):
print('工作步骤1')
def fun2(self):
print('工作步骤2')
def run(self): # 不可更改
self.fun1()
self.fun2()
if __name__ == '__main__':
p = MyProcess(2)
p.start()
p.join()
运行结果:
工作步骤1
工作步骤2
Process finished with exit code 0