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