小白学python------------并发编程之开启进程的两种方式

# 方式一,通常使用
from multiprocessing import Process
import time


def task(x):
    print('%s is running' % x)
    time.sleep(1)
    print('%s is done' % x)


if __name__ == '__main__':
    # Process(target=task,kwargs={'x':'子进程'})
    # Process的参数:target-->指的是你进程造出来执行的任务是哪个
    p = Process(target=task, args=('子进程',))
    print(p)
    p.start()#只是向操作系统发起一个开启子进程的信号
    #信号发出去后父进程继续执行
    print('主')
# 方式二(了解)

from multiprocessing import Process
import time

class MyProcess(Process):
    def run(self):#run这个名不能改
        print('%s is running' % self.name) #self.name是内置方法
        time.sleep(3)
        print('%s is done' % self.name)


if __name__ == '__main__':
    p = MyProcess()
    p.start()#p.run()
    # p.start()就是在调run方法
    print('主')


# 方式二的自定义版
from multiprocessing import Process
import time

class MyProcess(Process):
    def __init__(self,name):
        super().__init__()
        self.name = name
    def run(self):#run这个名不能改
        print('%s is running' % self.name) #self.name是内置方法
        time.sleep(3)
        print('%s is done' % self.name)


if __name__ == '__main__':
    p = MyProcess('子进程1')
    p.start()#p.run()
    # p.start()就是在调run方法
    print('主')

猜你喜欢

转载自blog.csdn.net/qq_42721964/article/details/82415163