From c285883d71ef8a362b012983dadc7ce4256b40f6 Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期五, 23 五月 2025 01:52:07 +0800 Subject: [PATCH] bug修复 --- test/test_shared_memery.py | 38 ++++++++++++++++++++++++-------------- 1 files changed, 24 insertions(+), 14 deletions(-) diff --git a/test/test_shared_memery.py b/test/test_shared_memery.py index a551425..636bf56 100644 --- a/test/test_shared_memery.py +++ b/test/test_shared_memery.py @@ -1,23 +1,33 @@ -import multiprocessing.shared_memory +import multiprocessing +import time +from multiprocessing import Manager, Process -def producer(shr): - with shr.txn() as shm: - for i in range(10): - shm[i] = i +def producer(d): + l = [] + for i in range(10): + d.append(i) + if i == 4: + d[:] = [] + time.sleep(0.1) -def consumer(shr): - with shr.txn() as shm: - for i in range(10): - print(shm[i]) +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 multiprocessing.shared_memory.SharedMemory(create=True, size=80) as shr: - p1 = multiprocessing.Process(target=producer, args=(shr,)) - p2 = multiprocessing.Process(target=consumer, args=(shr,)) + 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() - p2.start() p1.join() - p2.join() + input() -- Gitblit v1.8.0