python3 threading.Lock() 多线程锁的使用

import threading
import time

lock = threading.Lock() #创建锁

def fun(data):
try:
lock.acquire(True) #锁定
print("------> fun 1:",time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())),data)
time.sleep(5)
print("------> fun 2:", time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())),data)
finally:
lock.release()#释放

threading.Thread(target = fun, name='socket_tcp_server', kwargs={'data':100}).start()
threading.Thread(target = fun, name='socket_tcp_server', kwargs={'data':200}).start()
threading.Thread(target = fun, name='socket_tcp_server', kwargs={'data':300}).start()
threading.Thread(target = fun, name='socket_tcp_server', kwargs={'data':400}).start()
posted @ 2019-11-02 11:37  K_Code  阅读(5768)  评论(0编辑  收藏  举报