quecpython EC_600M 主线程有子线程运行业务 新建不需要等待子线程业务结束才会运行的定时器 写一段示例代码
时间: 2024-03-25 08:38:39 浏览: 55
好的,以下是一个示例代码:
```python
import threading
# 子线程函数,模拟业务运行
def child_thread():
print("子线程开始运行")
# 模拟业务运行
for i in range(5):
print("子线程运行中...")
print("子线程结束")
# 主线程函数
def main_thread():
print("主线程开始运行")
# 新建定时器,不需要等待子线程业务结束
timer = threading.Timer(3.0, lambda: print("定时器触发"))
timer.start()
print("主线程继续运行")
# 创建子线程并启动
child = threading.Thread(target=child_thread)
child.start()
# 运行主线程
main_thread()
```
该示例代码创建了一个子线程来模拟业务运行,并在主线程中新建了一个不需要等待子线程业务结束的定时器。注意,在主线程中创建定时器时,不需要等待子线程的业务运行结束,因此定时器的触发也不会影响子线程的运行。最后主线程结束运行。
相关问题
quecpython EC_600M 主线程有子线程运行业务 新建不切子线程的定时器 写一段示例代码
好的,以下是一个示例代码:
```python
import threading
# 子线程函数,模拟业务运行
def child_thread():
print("子线程开始运行")
# 模拟业务运行
for i in range(5):
print("子线程运行中...")
print("子线程结束")
# 主线程函数
def main_thread():
print("主线程开始运行")
# 新建定时器,不切换到子线程
timer = threading.Timer(3.0, lambda: print("定时器触发"))
timer.start()
print("主线程继续运行")
# 等待子线程结束
child.join()
print("主线程结束")
# 创建子线程并启动
child = threading.Thread(target=child_thread)
child.start()
# 运行主线程
main_thread()
```
该示例代码创建了一个子线程来模拟业务运行,并在主线程中新建了一个不切换到子线程的定时器。注意,在主线程中创建定时器时,不会切换到子线程中去执行,因此定时器的触发不会影响子线程的运行。最后等待子线程结束后,主线程才结束运行。
quecpython EC_600M 主线程while进行子线程业务运行 新建不需要等待子线程业务结束才会运行的定时器 写一段示例代码
好的,以下是一个示例代码:
```python
import threading
import time
# 子线程函数,模拟业务运行
def child_thread():
print("子线程开始运行")
# 模拟业务运行
while True:
print("子线程运行中...")
time.sleep(1)
# 主线程函数
def main_thread():
print("主线程开始运行")
# 创建子线程并启动
child = threading.Thread(target=child_thread)
child.start()
# 新建定时器,不需要等待子线程业务结束
timer = threading.Timer(3.0, lambda: print("定时器触发"))
timer.start()
print("主线程继续运行")
# 运行主线程
main_thread()
```
该示例代码创建了一个在主线程while循环中运行的子线程,并在主线程中新建了一个不需要等待子线程业务结束的定时器。注意,在主线程中创建定时器时,不需要等待子线程的业务运行结束,因此定时器的触发也不会影响子线程的运行。最后主线程结束运行。需要注意的是,在这种情况下,子线程是无法正常退出的,需要手动停止。
阅读全文