无限输出命令冻结 GUI

问题描述 投票:0回答:1

尝试运行如下命令: “Python.exe”,参数“c: ile.py”包含脚本:

i=0
while i>=0:
    print(i)
    i=i+1

这应该给出无限的输出,但相反,所有应用程序都会冻结,我无法停止该过程!!

如何同步输出而不冻结gui?

python process command output exe
1个回答
0
投票

您可能会遇到此问题,因为无限循环阻止其他进程运行。为了防止程序界面冻结,请尝试在单独的线程中运行循环以保持响应。

如果代码导致另一个系统冻结,则可能是由于资源限制。使用 time.sleep() 添加一个小的延迟可能有助于解决这个问题。

import threading
import time

stop_event = threading.Event()

def run_script():
    i = 0
    while not stop_event.is_set():
        print(i)
        i += 1
        time.sleep(0.1)  # adjust the delay to control output speed

# create and start the thread
script_thread = threading.Thread(target=run_script)
script_thread.start()

# stopping the thread after 5 seconds
time.sleep(5)
stop_event.set()
© www.soinside.com 2019 - 2024. All rights reserved.