竟然还有人嘴硬说 sleep 不在主线程里,真正的 6 秒是 rag 引擎在跑,你他妈仔细看看截图里的源代码和报错栈,报错栈里明明白白显示 KeyboardInterrupt 的时候 rag.query 方法已经返回给 ret 了,正在执行的是 ret.write,且 time.sleep(6) 就正好在 mindx 源代码里的 write 方法里
最重要的是,不是主线程里的代码在 KeyboardInterrupt 的时候不会显示在报错栈里,如果在等待 join 的话报错栈里会明确显示 thread.join 相关栈帧,如果没 join,且 thread 没运行完毕的话至少需要两次 KeyboardInterrupt 才能真正关闭进程,如果 thread 已经执行完毕的话,那么报错栈里更不会显示这个 thread 里的代码
幸亏我写了这么多年的 Python,差点就信你们的这些瞎几把扯了