python多线程同步运行 代码
时间: 2023-12-02 22:04:03 浏览: 96
python 锁的使用 python锁的使用例程python2可以直接运行,提供示例程序,供学习参考
在 Python 中使用多线程可以提高程序的执行效率。但是,多个线程同时运行时可能会出现数据竞争和死锁等问题,因此需要进行同步。下面是一个使用 Python 的 `threading` 模块实现多线程同步的示例代码:
```python
import threading
# 共享资源
count = 0
# 创建锁
lock = threading.Lock()
# 线程函数
def increment():
global count
for i in range(100000):
# 获取锁
lock.acquire()
count += 1
# 释放锁
lock.release()
# 创建两个线程
t1 = threading.Thread(target=increment)
t2 = threading.Thread(target=increment)
# 启动线程
t1.start()
t2.start()
# 等待线程执行完成
t1.join()
t2.join()
# 打印计数器的值
print(count)
```
在上面的代码中,我们首先定义了一个计数器 `count` 和一个锁 `lock`。然后定义了一个线程函数 `increment`,该函数会对计数器进行 100000 次加一操作。在每次加一操作之前,我们会先获取锁,加一操作完成后再释放锁。这样就可以保证多个线程对计数器的访问是互斥的。
接下来我们创建了两个线程,并启动它们。最后等待两个线程执行完成后,打印计数器的值。运行上面的代码,可以看到计数器的值为 200000,证明多线程同步运行成功了。
阅读全文