zoukankan      html  css  js  c++  java
  • 【Rollo的Python之路】Python 多进程 学习笔记 multiprocessing

    Python 多进程:

    由于GIL的存在,python中的多线程并不是真正的多线程,如果想要充分地使用多核CUP的资源,在python里面大部分情况需要使用多进程,Python提供了非常好的多进程包multiprocessing.

    只需要定义一个函数,Python会完成其他所有的事情。

    import time
    from multiprocessing import Process
    
    def f(name):
        time.sleep(1)
        print("hello",name,time.ctime())
    
    if __name__ == "__main__":
        p_list=[]
        for i in range(3):
            p = Process(target=f,args=('rollo',))
            p_list.append(p)
            p.start()
    
        for p in p_list:
            p.join()
        print('end')

    用面向对象的方法创建多进程:

    from multiprocessing import Process
    import time
    
    class MyProcess(Process):
        def __init__(self):
            super(MyProcess,self).__init__()
    
        def run(self):
            time.sleep(1)
            print('hello',self.name,time.ctime())  #self.name 进程名,在Process类里面已经定义好了,也可以修改的。
    
    if __name__ == '__main__':
        p_list = []
    
        for i in range(3):
            p = MyProcess()
            p.start()
            p_list.append(p)
    
        for p in p_list:
            p.join()
    
        print('end')

    修改进程名:self.name

    from multiprocessing import Process
    import time
    
    class MyProcess(Process):
        def __init__(self,name):
            super(MyProcess,self).__init__()
            self.name = name
    
        def run(self):
            time.sleep(1)
            print('hello',self.name,time.ctime())  #self.name 进程名,在Process类里面已经定义好了,也可以修改的。
    
    if __name__ == '__main__':
        p_list = []
    
        for p in range(3):
            p = MyProcess('123')
            p.start()
            p2 = MyProcess('456')
            p2.start()
            p_list.append(p)
    
        for p in p_list:
            p.join()
    
        print('end')
  • 相关阅读:
    struts2 局部类型转换器
    Struts2 命名空间配置
    Struts2 国际化
    Struts2 跟踪用户状态
    Struts2
    Struts2支持的处理结果类型
    SGI STL内存配置器(一):内存泄漏?
    TP 3.2 笔记 (1)
    AOP TP框架有感
    eclipse+git
  • 原文地址:https://www.cnblogs.com/rollost/p/10970475.html
Copyright © 2011-2022 走看看