好的,非常感谢!
这样可以的嘛? 我也不清楚有没达到你的需求
#!/usr/bin/env python
# -*- coding:utf-8 -*-
""""""
"""
现运行一个主算法程序,该算法在运行的过程中会多次调用另一个子算法程序。
主算法程序的运行时间是一定的,如设置为100秒,当到了100秒时可能子算法程序还没有运行结束,如何设置子算法程序立马停止运行,同时主算法程序也停止运行。
原本是想用time模块的函数在主算法程序中进行计时,确定程序运行的时间。但是存在一个问题:在进行已运行时间是否超过规定时间的判断时,已运行时间还未超过规定时间,
但是当转入子算法程序时,在子程序运行一半的时候,达到了规定时间,这种时候就需要立即停止子程序,但是需要等到子程序运行结束才能返回主程序进行时间的判断。
"""
from threading import Thread
from time import sleep,perf_counter
# 子线程
def thread1():
for i in range(1,100):
sleep(1)
print(f'{Thread.getName(t1)}的第{i}次打印')
# 判断时间
def calc_time():
while True:
sleep(1)
time = perf_counter()
# 如果时间超过 5 秒 则退出循环
if time >= 5:
break
# 启动子线程
t1 = Thread(target=thread1)
t1.setName('子线程')
def main_thread():
# 设置守护线程
t1.setDaemon(True)
t1.start()
# 调用主线程
calc_time()
print('主线程终止,子线程也被杀死!')
if __name__ == '__main__':
main_thread() Twilight6 发表于 2020-7-8 14:26
这样可以的嘛? 我也不清楚有没达到你的需求
非常感谢,我对多线程也不是非常了解,我先仔细看看你的模板 大甲鱼D 发表于 2020-7-8 14:47
非常感谢,我对多线程也不是非常了解,我先仔细看看你的模板
好,希望能达到你的要求 回帖20yb,hxd你真的豪啊 ? shen qing baai piao(pinyin) 可以使用多线程
页:
1
[2]