子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次,请写出程序。 ...
时间: 2023-08-05 22:50:34 浏览: 100
可以使用 threading 模块和 Event 对象来实现这个需求。
下面是一个示例代码:
```python
import threading
# Event对象用于主线程和子线程之间的同步
event = threading.Event()
event.clear()
def child_thread():
for i in range(50):
for j in range(10):
print("Child thread: ", j)
# 设置event,通知主线程可以运行了
event.set()
# 等待主线程运行完毕
event.clear()
def main_thread():
for i in range(50):
# 等待子线程通知可以运行了
event.wait()
for j in range(100):
print("Main thread: ", j)
# 清除event,通知子线程可以运行了
event.clear()
# 创建子线程
t = threading.Thread(target=child_thread)
t.start()
# 运行主线程
main_thread()
# 等待子线程结束
t.join()
```
程序中,子线程循环 10 次后,设置 event,通知主线程可以运行了。主线程等待 event,一旦收到子线程的通知,就开始循环 100 次,然后清除 event,通知子线程可以运行了。循环 50 次后,主线程结束,等待子线程结束。
阅读全文