在编程中,锁是一种重要的机制,用于保护共享资源的并发访问。通过使用锁,我们可以确保在任何给定时间点只有一个线程可以访问共享资源,从而避免数据竞争和不一致性。
锁的基本思想是,在进入临界区之前获取锁并在离开临界区时释放锁。当一个线程获取到锁时,其他线程必须等待直到锁被释放才能进入临界区。这样可以确保只有一个线程在任何时候访问临界区代码,从而保证数据的一致性和正确性。
在下面的示例中,我们将使用Python编写一个简单的多线程程序,演示如何使用锁来保护共享资源。
import threading
# 共享资源
shared_resource = 0
# 创建一个互斥锁
lock = threading.Lock()
# 线程函数
def