1. import random
    2. import time
    3. import threading
    4. '''输出为: 12A 34B 56C 78D'''
    5. def show1():
    6. for i in range(1, 52, 2):
    7. lock1.acquire()
    8. print(i, end='')
    9. print(i+1, end='')
    10. time.sleep(random. random()/10)
    11. lock2.release()
    12. if i == 7:
    13. break
    14. def show2():
    15. for i in range(26):
    16. lock2.acquire()
    17. print(chr(i + ord('A')))
    18. time.sleep(random.random() / 10)
    19. lock1.release()
    20. if chr(i + ord('A')) == 'D':
    21. break
    22. if __name__ == '__main__':
    23. lock1 = threading.Lock()
    24. lock2 = threading.Lock()
    25. f1_thread = threading.Thread(target=show1)
    26. f2_thread = threading.Thread(target=show2)
    27. lock2.acquire()
    28. f1_thread.start()
    29. f2_thread.start()