實驗 / 027
Java LLM 實踐(十):點了取消,讀取執行緒為什麼還在運行?
30次本地HTTP連接,區分會話取消、阻塞讀取退出與遠端工作,比較Future中斷和主動關閉連接。
實驗結果
01 / 問題
方法
5種本地HTTP/SSE條件×2種取消策略×3次重複,共30次真實loopback連接。
結果
24次取消均未寫入會話歷史;僅中斷仍等待讀取,主動關閉連接後本機退出均小於1ms。
觀察
持續發送組即使Future已取消仍讀完回應;本地服務端在客戶端斷開後仍完成八步有界工作。
結論
分別驗證會話寫入資格、讀取任務退出和遠端取消確認,不能用Future狀態替代三者。
限制
Java8經典Socket、固定本地條件;截止只覆蓋讀取階段。不是SDK、TLS、線上時延或停止計費證明。
重現
固定程式碼和原始記錄見倉庫;正文給出運行、獨立審計和回放命令。
繼續探索