import threading
lock = threading.Lock()
def lock_test():
global lock
for i in range(10):
lock.acquire()
id = threading.currentThread().ident
print("id:%d"%id)
lock.release()
def main():
th1 = threading.Thread(target=lock_test)
th2 = threading.Thread(target=lock_test)
th3 = threading.Thread(target=lock_test)
th1.start()
th2.start()
th3.start()
th1.join()
th2.join()
th3.join()
if __name__=='__main__':
main()
运行结果:
id:26920
id:26920
id:26920
id:26920
id:26920
id:26920
id:26920
id:26920
id:26920
id:26920
id:21700
id:21700
id:21700
id:21700
id:21700
id:21700
id:21700
id:21700
id:21700
id:21700
id:21188
id:21188
id:21188
id:21188
id:21188
id:21188
id:21188
id:21188
id:21188
id:21188