一件事做完后关闭另一件事
时间: 2024-02-28 09:57:09 浏览: 23
可以使用Python的条件变量或锁来实现在完成一件事情后关闭另一件事情。以下是使用条件变量的示例代码:
```python
import threading
# 定义条件变量
cv = threading.Condition()
# 定义一个标志变量
flag = False
# 定义函数1
def func1():
global flag
print("This is function 1")
with cv:
# 设置标志变量为True
flag = True
# 通知其他线程
cv.notify_all()
# 定义函数2
def func2():
global flag
with cv:
# 等待标志变量为True
while not flag:
cv.wait()
print("This is function 2")
# 创建线程1
t1 = threading.Thread(target=func1)
# 创建线程2
t2 = threading.Thread(target=func2)
# 启动线程1
t1.start()
# 启动线程2
t2.start()
# 等待线程1完成
t1.join()
# 等待线程2完成
t2.join()
```
以上代码创建了两个线程,每个线程都执行不同的函数。线程1完成后设置了标志变量为True并通知其他线程。线程2等待标志变量为True,一旦收到通知就执行。在这种情况下,当线程1完成后,线程2才会执行。