• 进程


    '''
    什么是进程??
    进程就是一个应用软件正在运行的过程
    进程的概念起源与操作系统。

    同一个程序执行多次是多个进程。
    但是他们都有统一父进程,比如我们用cmd 多次来运行同一个py程序,
    那么多个py程序的“爹”就是cmd
    根据例一可以去cmd,进一步观看
    '''
    # 列1:
    # import os
    # import time
    #
    # print('父进程为',os.getppid())
    # print('self是:',os.getpid())
    # time.sleep(500)

    # 开启子进程的两种方式

    # from multiprocessing import Process
    # import time
    # def task(name):
    # print('%s is running'%name)
    # time.sleep(3)
    # print('%s is done'%name)
    # if __name__ == '__main__':
    # # 在windows系统之上,开启子进程的操作一定要放到这下面
    # # Process(target=task,kwargs={'name':'egon'}) 另一种传值方式
    # p=Process(target=task,args=('egon',))
    # p.start() # 向操作系统发送请求,操作系统会申请内存空间,然后把父进程的数据拷贝给子进程,作为子进程的初始状态
    # print('主进程=====')
    #
    #
    # # 方式二,自定义类
    # class MyProcess(Process):
    # def __init__(self,name):
    # super(MyProcess,self).__init__()
    # self.name=name
    # def run(self):
    # print('%s is running'%self.name)
    # time.sleep(3)
    # print('%s is done'%self.name)
    # if __name__ == '__main__':
    # p=MyProcess('yw')
    # p.start()
    # print('主')


    # 进程的内存空间是相互隔离的

    # from multiprocessing import Process
    # import time
    #
    # x='我是主进程的'
    #
    # def task():
    # time.sleep(3)
    # global x
    # x='你猜我是谁'
    # print('子进程死了',x)
    #
    # if __name__ == '__main__':
    # p=Process(target=task)
    # p.start()
    # time.sleep(5) #等到子进程运行结束然后运行
    # print(x)


    # 父进程等待子进程结束
    # join 命令:等到到子线程结束回收他的’尸体‘
    # from multiprocessing import Process
    # def task():
    # global x
    # x='你猜我是谁'
    # print('子进程死了',x)
    #
    # if __name__ == '__main__':
    # p=Process(target=task)
    # p.start()
    # p.join()
    # print(x)

    # 用for 循环开启多个子进程
    # from multiprocessing import Process
    # import time,random
    #
    # def task(n):
    # print('%s is running '%n)
    # time.sleep(n)
    # if __name__ == '__main__':
    # start_time=time.time()
    #
    # p_l=[]
    # for i in range(1,4):
    # p=Process(target=task,args=(i,))
    # p_l.append(p)
    # p.start()
    # for p in p_l:
    # p.join()
    #
    # print('主',(start_time-time.time()))

    # 进程对象的其他属性

    from multiprocessing import Process
    import time,os

    y=100

    def task(n):
    print('%s is running'%n)
    time.sleep(n)

    if __name__ == '__main__':
    start_time=time.time()

    p1=Process(target=task,args=(1,),name='进程1')
    p1.start()
    p1.join()

    print('子',p1.pid)
    print(p1.name)
    print(p1.is_alive())#判断子进程是否还在运行
    print('主',os.getpid())
  • 相关阅读:
    课题:快速建立自己的外链资源圈
    【干货分享】常用端口服务对照表
    【经验分享(续篇)】Trachtenberg system(特拉亨伯格速算系统)
    网站渗透测试原理及详细过程
    渗透测试入门DVWA 教程1:环境搭建
    CTF---密码学入门第七题 杯酒人生
    CTF---密码学入门第六题 古典密码
    CTF---密码学入门第五题 传统知识+古典密码
    CTFCrackTools在Windows下显示A Java Exception has occurred的解决方案
    CTF---密码学入门第四题 困在栅栏里的凯撒
  • 原文地址:https://www.cnblogs.com/yangwei666/p/8931459.html
Copyright © 2020-2023  润新知