互斥锁
把并行变成串行,保证顺序,降低效率。
from threading import Thread, Lock import time n = 100 def task(): global n mutex.acquire() tmp = n time.sleep(0.1) n = tmp - 1 print(n) mutex.release() if __name__ == "__main__": mutex = Lock() t_l = [] for i in range(100): t = Thread(target=task) t_l.append(t) t.start() for i in t_l: t.join() print("主",n)

99
98
97
96
95
94
93
92
91
90
89
88
87
86
85
84
83
82
81
80
79
78
77
76
75
74
73
72
71
70
69
68
67
66
65
64
63
62
61
60
59
58
57
56
55
54
53
52
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
主 0