创建进程的两种方式

# 创建进程的两种方式

# 创建进程第一种方法
# from multiprocessing import Process
# import time
#
#
# def run(name):
#     print('%s running'%name)
#     time.sleep(3)
#     print('%s over'%name)
#
#
# # 在windows中创建进程时,他会像导入模块一样加载一遍代码,所以创建子进程时,他不会走if __name__ == '__main__':
# # 下面的代码块,解决了无限创建进程的问题
# if __name__ == '__main__':
#     p = Process(target=run, args=('egon',))  # 创建一个进程对象
#     p.start()  # 告诉操作系统创建一个进程
#     print('主进程')

'''
p.start()告诉操作系统创建一个进程后
操作系统会去内存中开辟一个空间
然后像导入模块一样将代码放进一个独立的内存中

进程与进程之间是隔离的,无法直接进行交互
我们可以通过一些技术,实现交互
'''

# 创建进程的第二种方法
# 通过继承进程类,创造进程,类似于继承元类
from multiprocessing import Process
import time


class MyProcess(Process):
    def __init__(self,name):
        super().__init__()
        self.name = name

    def run(self):
        print('%s is running'%self.name)
        time.sleep(3)
        print('%s is over'%self.name)


if __name__ == '__main__':
    p = MyProcess('json')
    p.start()
    print('')

 

posted @ 2019-08-12 08:30  Nmdlao  阅读(686)  评论(0编辑  收藏  举报