鱼C论坛

 找回密码
 立即注册
12
返回列表 发新帖
楼主: 大甲鱼D

如何设置在程序运行一定时间后停止

[复制链接]
发表于 2020-7-8 14:26:04 | 显示全部楼层
大甲鱼D 发表于 2020-7-8 13:56
好的,非常感谢!


这样可以的嘛? 我也不清楚有没达到你的需求

  1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3. """"""
  4. """
  5. 现运行一个主算法程序,该算法在运行的过程中会多次调用另一个子算法程序。

  6. 主算法程序的运行时间是一定的,如设置为100秒,当到了100秒时可能子算法程序还没有运行结束,如何设置子算法程序立马停止运行,同时主算法程序也停止运行。

  7. 原本是想用time模块的函数在主算法程序中进行计时,确定程序运行的时间。但是存在一个问题:在进行已运行时间是否超过规定时间的判断时,已运行时间还未超过规定时间,

  8. 但是当转入子算法程序时,在子程序运行一半的时候,达到了规定时间,这种时候就需要立即停止子程序,但是需要等到子程序运行结束才能返回主程序进行时间的判断。

  9. """
  10. from threading import Thread
  11. from time import sleep,perf_counter

  12. # 子线程
  13. def thread1():
  14.     for i in range(1,100):
  15.         sleep(1)
  16.         print(f'{Thread.getName(t1)}的第{i}次打印')

  17. # 判断时间
  18. def calc_time():
  19.     while True:
  20.         sleep(1)
  21.         time = perf_counter()
  22.         # 如果时间超过 5 秒 则退出循环
  23.         if time >= 5:
  24.             break

  25. # 启动子线程
  26. t1 = Thread(target=thread1)
  27. t1.setName('子线程')



  28. def main_thread():
  29.     # 设置守护线程
  30.     t1.setDaemon(True)
  31.     t1.start()
  32.     # 调用主线程
  33.     calc_time()
  34.     print('主线程终止,子线程也被杀死!')


  35. if __name__ == '__main__':
  36.     main_thread()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-8 14:47:22 | 显示全部楼层
Twilight6 发表于 2020-7-8 14:26
这样可以的嘛? 我也不清楚有没达到你的需求

非常感谢,我对多线程也不是非常了解,我先仔细看看你的模板
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-8 14:48:28 | 显示全部楼层
大甲鱼D 发表于 2020-7-8 14:47
非常感谢,我对多线程也不是非常了解,我先仔细看看你的模板

好,希望能达到你的要求
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-10 21:35:06 | 显示全部楼层
回帖20yb,hxd你真的豪啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-10 22:43:40 | 显示全部楼层
?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-7-10 22:44:31 | 显示全部楼层
shen qing baai piao(pinyin)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-1 17:20:42 | 显示全部楼层
可以使用多线程
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-24 16:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表