zoukankan      html  css  js  c++  java
  • python中的Lock

     1 #Lock.py
     2 from multiprocessing import Process,Lock
     3 import os
     4 
     5 def f(l,i):
     6     l.acquire()
     7     print('hello world %d and Ospid is %s...' %( i,os.getpid()))
     8     l.release()
     9 if __name__=='__main__':
    10     lock = Lock()
    11     for num in range(10):
    12         Process(target=f,args=(lock,num)).start()

    有Lock。

    结果

     1 hello world 3 and Ospid is 4852...
     2 hello world 2 and Ospid is 540...
     3 hello world 0 and Ospid is 4160...
     4 hello world 1 and Ospid is 948...
     5 hello world 4 and Ospid is 5272...
     6 hello world 6 and Ospid is 3100...
     7 hello world 7 and Ospid is 3364...
     8 hello world 8 and Ospid is 924...
     9 hello world 9 and Ospid is 5196...
    10 hello world 5 and Ospid is 5460...

    以下是无Lock

     1 #copy.py
     2 __author__ = 'liunnis'
     3 from multiprocessing import Process,Lock
     4 import os
     5 
     6 def f(l,i):
     7 
     8     print('hello world %d and Ospid is %s...' %( i,os.getpid()))
     9 
    10 if __name__=='__main__':
    11     lock = Lock()
    12     for num in range(10):
    13        p = Process(target=f,args=(lock,num))
    14        p.start()
    15 #       p.join()

    结果:

     1 hello world 3 and Ospid is 944...
     2 hello world 1 and Ospid is 4156...
     3 hello world 8 and Ospid is 2136...
     4 hello world 5 and Ospid is 3764...
     5 hello world 6 and Ospid is 4876...
     6 hello world 7 and Ospid is 4976...
     7 hello world 2 and Ospid is 2640...
     8 hello world 0 and Ospid is 1404...
     9 hello world 9 and Ospid is 5748...
    10 hello world 4 and Ospid is 4032..
  • 相关阅读:
    vue2.0是不支持通过下标来更改数组的,无法做到响应式
    C# 深拷贝 Bitmap对象示例
    vscode终端中文乱码
    TkbmMemTable使用总结
    openssl 证书概念介绍
    openssl源码介绍
    python变量赋值特性
    openssl安装
    github开源协议选择
    NLP 多分类神经网络
  • 原文地址:https://www.cnblogs.com/liunnis/p/4612298.html
Copyright © 2011-2022 走看看