from threading import Thread, Lock
#打印大寫字母
def print_upper():
for i in range(65, 91):
if s1.acquire():
#使用chr()函數
print(chr(i))
s2.release()
#打印數字
def print_digit():
for i in range(1, 27):
if s2.acquire():
print(str(i))
s1.release()
if __name__ == "__main__":
#創建鎖
s1 = Lock()
s2 = Lock()
#請求獲取鎖
s2.acquire()
# s2.acquire()
#創建線程
t1 = Thread(target=print_upper, name="大寫字母")
t2 = Thread(target=print_digit, name="數字")
t1.start()
t2.start()
# A
# 1
# B
# 2
# C
# 3
# D
# 4
# E
# 5
# F
# 6
# G
# 7
# H
# 8
# I
# 9
# J
# 10
# K
# 11
# L
# 12
# M
# 13
# N
# 14
# O
# 15
# P
# 16
# Q
# 17
# R
# 18
# S
# 19
# T
# 20
# U
# 21
# V
# 22
# W
# 23
# X
# 24
# Y
# 25
# Z
# 26
互斥鎖:
線程調度程序從處於同步阻塞狀態的線程中選擇一個來獲得鎖,並使得該線程進入運行(running)狀態。