zoukankan      html  css  js  c++  java
  • pyhton锁机制,进程池

    第一,进程锁,本来进程是各自的,本不要加锁,但是在屏幕上输出打印时为了防止混乱,在进程模块有一个锁函数,使用如下,需要说明是在py3以上版本没 有出现在过屏幕输出混乱,可以不加,这方法不重要,但是作为学习,了解一下好,输出顺序乱是进程运算,我这儿说的是print("")这个输出!!

    pfrom multiprocessing import Process,Lock
    def f(l,i):
    l.acquire()
    print("hello world")
    l.release()
    if __name__ == '__main__':
    lock = Lock()
    for num in range(10):
    Process(target=f,args=(lock,num)).start()
    python进程池使用方法:
    from  multiprocessing import Process,Pool
    import time
    
    
    def Foo(i):
    
    
        time.sleep(2)
    
    
        return i+100
    
    
    def Bar(arg):
        print('-->exec done:',arg)
    if __name__ == '__main__':
    #用了进程池, 上面那句必要加,不加报错
    
    
      pool = Pool(5) 
      for in range(10):
          async并行,pool.apply串行
    
    
          pool.apply_async(func=Foo, args=(i,),callback=Bar)
    
    
          #pool.apply(func=Foo, args=(i,)) 
    
    
      print('end')
    
    
      pool.close()
    
    
      pool.join()#进程池中进程执行完毕后再关闭,如果注释,那么程序直接关闭。
     
  • 相关阅读:
    简易版Spring Ioc (转载)
    网站策划:网站用户需求分析
    js实现树形菜单
    js实现滑动门效果
    HTML的DOM对象的nodeName
    javascript实现页面悬浮导航
    jQuery EasyUI 窗口 – 创建简单窗口
    Exceptions
    Java Cookbook-Date and Times
    表单属性深入
  • 原文地址:https://www.cnblogs.com/fgxwan/p/9646297.html
Copyright © 2011-2022 走看看