qianaonan 发表于 2023-3-5 21:12

大佬们,python有办法让while无限循环执行当中,但不影响其他代码的执行

本帖最后由 qianaonan 于 2023-3-6 10:11 编辑

大佬们我有个while true定时提醒的语句当中加入了time.sleep()的函数,但是我发现while一直循环的话就没办法执行while下面的语句,有什么办法能让循环是继续循环的下面的语句也顺便执行,知道关闭程序为止。
解决办法:把while循环单独设个线程,b站有教程,可以上去看看。

xialichen 发表于 2023-3-5 21:15

我也想知道这个问题,期待大佬回复{:1_919:}

星Staryear 发表于 2023-3-5 21:20

我也想知道这问题怎么处理,不过我百度了解到的是用什么的进行多线程来处理这个问题,但人家没说怎么弄,步骤是什么{:1_908:}

baobaoqiufo 发表于 2023-3-5 21:30

我想到线程,但进来看怎么实现的

zhi_huo 发表于 2023-3-5 21:31

你可以参考一下,使用threating、multiprocessing

https://cloud.tencent.com/developer/ask/sof/1308431

ccwuax 发表于 2023-3-5 21:36

看来楼主不知道线程或进程,不过这2个东西用法一样,你开一个线程,把要死循环的代码放到线程中去运行就不会影响主线程了,不过还是建议先去学一下线程的相关知识吧

bj201809 发表于 2023-3-5 21:40

多线程,多进程都可以实现

多线程示例:
import time
import threading

def printNumber(n: int) -> None:
    while True:
      print(f“thread{n}”)
      time.sleep(n)

for i in range(1, 3):
    t = threading.Thread(target=printNumber, args=(i, ))
    t.start()

jidesheng6 发表于 2023-3-5 21:40

把你这段while循环的语句单独拎出来放到另一个线程里面去执行,线程启动后你继续干别的

xiaosuobjsd 发表于 2023-3-5 21:47

有三个办法,多线程,多进程,协程。你的问题最好是用协程解决,换句话说叫单进程、单线程、多任务,利用cpu的空闲时间比如sleep的时候执行其他任务

dxbgwl 发表于 2023-3-5 21:57

期待知道答案
页: [1] 2 3 4
查看完整版本: 大佬们,python有办法让while无限循环执行当中,但不影响其他代码的执行