程锁
-
功能
解决多个线程同时使用全局变量,有可能会造成的数据的混乱
-
如何创建锁
锁对象 = threading.Lock()
lock 英 [lɒk] 美 [lɑːk] v. (用锁)锁上;被锁住;把…锁起来;(使)固定,卡住,塞住 n. 锁;车锁;制动器;锁定器;制轮楔;(机器部件等的)锁定
-
如何使用锁
-
上锁
锁对象.acquire()
acquire 英 [əˈkwaɪə(r)] 美 [əˈkwaɪər] v. (通过努力、能力、行为表现)获得;购得;获得;得到
-
解锁
锁对象.release()
release 英 [rɪˈliːs] 美 [rɪˈliːs] v. 释放;放出;放走;放开;松开;使自由移动(或飞翔、降落等);发泄;宣泄 n. 释放;获释;公开;发行;发布;新发行的东西;(尤指)新激光唱片,新电影
-
进程锁
-
创建锁
进程锁对象 = multiprocessing.Lock()
-
使用锁
-
上锁
进程锁对象.acquire()
-
解锁
进程锁对象.release()
-
守护进程
进程对象.daemon = True
daemon
英 [ˈdiːmən] 美 [ˈdiːmən]
n.
(古希腊神话中的)半神半人精灵
信号量
- 创建对象
信号量对象 = multiprocessing.Semaphore(钥匙的数量)
Semaphore
英 [ˈseməfɔː(r)] 美 [ˈseməfɔːr]
信號量;旌旗灯号量;信号量;信号灯;信号
-
使用
-
获得-从面版上拿
信号量对象.acquire()
-
释放-归还到面版上
信号量对象.release()
-