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())
  • 相关阅读:
    git 使用详解(6) 撤消操作
    git 使用详解(7) 远程仓库的使用
    git 使用详解(8) 分支HEAD
    PHP抓取网页内容的方法
    PHP的feof()方法需要注意的地方
    PHP获取变量的变量名的一段代码的bug
    关于php的unset
    if、while中变量的作用域问题
    codeigniter的url重写问题(去掉index.php路由)
    PHP书写规范 PHP Coding Standard
  • 原文地址:https://www.cnblogs.com/yangwei666/p/8931459.html
Copyright © 2011-2022 走看看