• Python学习笔记24:多进程


    #多进程
    ——进程间通讯(IPC:InterProcessCommunication)
    ——进程之间无任何共享状态



    import multiprocessing
    from time import sleep, ctime
    class ClockProcess(multiprocessing.Process):
    def __init__(self, interval):
    super().__init__()
    self.interval = interval

    def run(self):
    while True:
    print('The time is %s'%ctime())
    sleep(self, interval)

    if __name__ == '__main__':
    p = ClockProcess(3)
    p.start()
    while True:
    print('sleeping......')
    sleep(1)


    sleeping......
    Process ClockProcess-1:
    Traceback (most recent call last):
    File "C:UsersBruceAppDataLocalProgramsPythonPython37libmultiprocessingprocess.py", line 297, in _bootstrap
    self.run()
    File "C:迅雷下载demo.py", line 81, in run
    sleep(self, interval)
    NameError: name 'interval' is not defined
    The time is Mon Dec 24 23:38:25 2018
    sleeping......
    sleeping......
    sleeping......
    sleeping......
    sleeping......
    sleeping......
    sleeping......
    sleeping......
    sleeping......
    sleeping......
    sleeping......
    sleeping......
    sleeping......
    sleeping......
    sleeping......
    sleeping......
    sleeping......

    Process finished with exit code -1

    from multiprocessing import Process
    import os
    def info(title):
    print(title)
    print('module name:', __name__)
    #得到父进程的id
    print('parent process:', os.getppid())
    #得到本身进程的id
    print('process id:', os.getpid())

    def f(name):
    info('function f')
    print('hello', name)

    if __name__ == '__main__':
    info('main line')
    p = Process(target = f, args = ('bob',))
    p.start()
    p.join()

    main line
    module name: __main__
    parent process: 94984
    process id: 103092
    function f
    module name: __mp_main__
    parent process: 103092
    process id: 21428
    hello bob

    Process finished with exit code 0

  • 相关阅读:
    Implicit conversion from enumeration type 'enum CGImageAlphaInfo' to different enumeration type 'CGB
    iOS谋职之OC面试题
    IOS_视图实现圆角效果的三种方法及比较
    Objective-C 中的方法回掉
    returnValue of Chrome
    获取最新ADT下载地址的方法
    Git 分支使用
    Windows下运行jekyll,编码已不再是问题
    Github Pages另一个选择:GitCafe-Pages
    还没更换RubyGems镜像?
  • 原文地址:https://www.cnblogs.com/chickenwrap/p/10171773.html
Copyright © 2020-2023  润新知