实验 / 027

Java LLM 实践(十):点了取消,读取线程为什么还在运行?

30次本地HTTP连接,区分会话取消、阻塞读取退出与远端工作,比较Future中断和主动关闭连接。

已完成 ·

实验结果

GitHub ↗

01 / 问题

30次本地HTTP连接,区分会话取消、阻塞读取退出与远端工作,比较Future中断和主动关闭连接。

方法

5种本地HTTP/SSE条件×2种取消策略×3次重复,共30次真实loopback连接。

结果

24次取消均未写入会话历史;仅中断仍等待读取,主动关闭连接后本机退出均小于1ms。

观察

持续发送组即使Future已取消仍读完响应;本地服务端在客户端断开后仍完成八步有界工作。

结论

分别验证会话写入资格、读取任务退出和远端取消确认,不能用Future状态替代三者。

局限

Java8经典Socket、固定本地条件;截止只覆盖读取阶段。不是SDK、TLS、线上时延或停止计费证明。

复现

固定代码和原始记录见仓库;正文给出运行、独立审计和回放命令。

继续探索

继续探索

  1. 工程案例

    Java LLM 实践(十):点了取消,读取线程为什么还在运行?

    30次本地HTTP连接,区分会话取消、阻塞读取退出与远端工作,比较Future中断和主动关闭连接。

    11 分钟已发布
  2. 项目 / 002

    Java LLM 实践集

    Java 会话、请求重试与持久化边界,以及注意力、缓存成本和量化误差的可复现实验。

    构建中
  3. 工程案例

    Java LLM 实践(九):取消请求后,旧回答为什么还会覆盖新会话?

    18 种固定线程交错,验证流式预览、完成和错误回调的请求归属,以及取消和有限幂等的边界。

    10 分钟已发布
  4. 工程案例

    Java LLM 实践(八):流式回答断了,半句答案该不该进入历史?

    22 个回环 HTTP 案例,验证 UTF-8、SSE 分帧、取消与异常结束,把逐步预览和完整历史提交分开。

    11 分钟已发布

← 返回目录