实验 / 027
Java LLM 实践(十):点了取消,读取线程为什么还在运行?
30次本地HTTP连接,区分会话取消、阻塞读取退出与远端工作,比较Future中断和主动关闭连接。
实验结果
01 / 问题
30次本地HTTP连接,区分会话取消、阻塞读取退出与远端工作,比较Future中断和主动关闭连接。
方法
5种本地HTTP/SSE条件×2种取消策略×3次重复,共30次真实loopback连接。
结果
24次取消均未写入会话历史;仅中断仍等待读取,主动关闭连接后本机退出均小于1ms。
观察
持续发送组即使Future已取消仍读完响应;本地服务端在客户端断开后仍完成八步有界工作。
结论
分别验证会话写入资格、读取任务退出和远端取消确认,不能用Future状态替代三者。
局限
Java8经典Socket、固定本地条件;截止只覆盖读取阶段。不是SDK、TLS、线上时延或停止计费证明。
复现
固定代码和原始记录见仓库;正文给出运行、独立审计和回放命令。
继续探索