zoukankan      html  css  js  c++  java
  • 进程

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

    同一个程序执行多次是多个进程。
    但是他们都有统一父进程,比如我们用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())
  • 相关阅读:
    css 图片的无缝滚动
    有时间研究下这个
    js的类数组对象
    js的this什么时候会出现报错
    js前端分页
    js队列
    js前端处理url中的参数为对象
    随机看的一点代码
    js的callee和caller方法
    js的Object和Function
  • 原文地址:https://www.cnblogs.com/yangwei666/p/8931459.html
Copyright © 2011-2022 走看看