在 Python 中,实现线程间数据共享主要通过共享内存的方式,常见的方法有使用 Lock 和 Queue。Lock 是一种用于解决线程间资源共享冲突的机制。它允许同一时刻只有一个线程访问共享资源。例如,以下代码演示了如何使用 Lock 实现两个线程对全局变量 count 的安全操作。pythonfrom threading import Thread, Lockcount = 0lock = Lock()def increment():global countwith lock:for i in range(100000):count += 1def decrement():global countwith lock:for i in range(100000):count -= 1t1 = Thread(target=increment)t2 = Thread(target=decrement)t1.start()t2.start()t1.join()t2.join()print("Count = ", count)Queue 用于线程间数据传递,它支持安全的 put 和 get 操作。下面是一个使用 Queue 实现多线程间任务共享的示例。pythonfrom threading import Threadfrom queue import Queuedef worker(q):while True:task = q.get()if task is None:breakprint("Processing task: ", task)q = Queue()t1 = Thread(target=worker, args=(q,))t2 = Thread(target=worker, args=(q,))t1.start()t2.start()for i in range(10):q.put(i)q.put(None)q.put(None)t1.join()t2.join()通过合理选择和使用 Lock 和 Queue,可以实现 Python 中线程间的高效数据共享和同步。