如何实现输入操作不中断程序执行?(类似线程式并发处理)
实现输入与打印操作并行执行(基于线程)
要让程序在接收用户输入的同时执行打印操作,核心思路是用多线程将打印任务与输入任务分离,避免单线程下的阻塞问题。以下是Python的实现示例:
import threading import time def continuous_print(): # 模拟第3-6行的打印逻辑 for line_num in range(3, 7): print(f"{line_num} | |") time.sleep(1) # 模拟打印间隔,可根据需求调整 # 启动打印线程 print_thread = threading.Thread(target=continuous_print) print_thread.daemon = True # 设置为守护线程,随主线程结束自动退出 print_thread.start() # 主线程处理用户输入 user_input = input("2 |Input here|\n") print(f"你输入的内容: {user_input}")
代码说明:
continuous_print函数封装了需要并行执行的打印任务,循环输出第3到6行的内容,time.sleep用于模拟实际场景中的打印耗时- 通过
threading.Thread创建独立线程并启动,该线程会在后台运行,不会阻塞主线程的输入操作 daemon=True确保当用户完成输入、主线程结束时,打印线程会自动终止,无需手动管理
进阶提示:
如果需要更规整的终端交互(比如输入框位置固定,不被打印内容干扰),可以使用curses库来控制终端光标位置和输出区域,但基础并行需求用上述线程方案即可满足。
内容的提问来源于stack exchange,提问作者ayza
相关产品推荐
相关产品推荐

