python mutex
时间: 2024-10-13 22:02:53 浏览: 18
Python自学教程-11-互斥锁.ev4.rar
Python中的`mutex`,即互斥锁,是一种同步工具,用于保护共享资源免受并发访问导致的数据竞争。它确保在同一时间只有一个线程可以访问特定的代码块。在Python标准库`threading`模块中,我们可以使用`Lock`类来创建和管理互斥锁。
当你需要控制多个线程对某个共享变量的操作顺序时,比如读写操作,就可以使用`Lock`。以下是基本的用法:
```python
import threading
lock = threading.Lock()
def thread_function():
lock.acquire() # 获取锁
try:
# 临界区:在此处进行独占操作
print("Thread is executing code.")
finally:
lock.release() # 释放锁
# 创建并启动线程
threads = [threading.Thread(target=thread_function) for _ in range(5)]
for t in threads:
t.start()
```
在这个例子中,如果一个线程获得了锁,其他尝试获取该锁的线程会被阻塞直到锁被释放。这就是互斥锁的主要作用。
阅读全文