Administrator
2025-06-11 6dbf7d8320b03533a8a7c70cb3cc309426eac94e
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()