1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| import multiprocessing
| import time
| from multiprocessing import Manager, Process
|
|
| def producer(d):
| l = []
| for i in range(10):
| d.append(i)
| if i == 4:
| d[:] = []
| time.sleep(0.1)
|
|
| def consumer(d):
| for i in range(10000):
| start_time = time.time()
| print(len(d))
| end_time = time.time()
| print("耗时:", end_time - start_time)
| time.sleep(1)
|
|
| if __name__ == "__main__":
| with Manager() as manager:
| d = manager.list()
| p1 = multiprocessing.Process(target=producer, args=(d,))
| for i in range(100):
| p2 = multiprocessing.Process(target=consumer, args=(d,))
| p2.start()
| p1.start()
| p1.join()
| input()
|
|