使用python创建3个线程,线程之间使用线程锁
时间: 2024-05-07 09:16:43 浏览: 11
好的,您可以按照以下代码使用Python创建3个线程,并使用线程锁进行同步:
```python
import threading
# 定义共享的资源
shared_resource = 0
# 定义线程锁
lock = threading.Lock()
# 定义线程函数
def worker():
global shared_resource
# 加锁
lock.acquire()
try:
# 修改共享变量
shared_resource += 1
print(f'Thread {threading.current_thread().name} modifies shared resource to {shared_resource}')
finally:
# 释放锁
lock.release()
# 创建3个线程并启动
for i in range(3):
thread = threading.Thread(target=worker, name=f'Thread-{i+1}')
thread.start()
```
以上代码创建了3个线程,每个线程都会执行`worker`函数。为了保证对`shared_resource`变量的修改操作是线程安全的,我们使用了`threading.Lock()`函数创建了一个线程锁对象`lock`,通过`lock.acquire()`和`lock.release()`方法实现线程互斥。
在`worker`函数中,当线程获取到锁之后,就可以安全地修改`shared_resource`变量。在修改完成之后,线程释放锁,让其他线程可以获取锁并修改共享变量。