java - 停止线程

标签 java multithreading io

在 java 应用程序中,当用户点击下载时,建立远程连接并从远程下载内容是在单独的线程中完成的,屏幕上会弹出一个对话框以显示下载进度。现在对话框中添加了取消命令,以便为用户提供取消下载的选项。当用户点击取消按钮时,可以使用程序中的 dispose() 方法处理对话框,但是如何停止/杀死已经启动的线程?线程执行以下任务: 1.建立与远程的连接 2.从远程下载内容 3.将内容存储在本地(内容通过流传输) 请帮我解决这个问题

最佳答案

停止一个线程可能是错误的看待方式。桌面计算机上单个线程消耗的实际资源是无关紧要的。将其视为中止下载。

如果读取是阻塞的,那么这并不是什么大问题。您可以等到有一些数据后再不读取。一种更突然的方法是在流上调用 close(从另一个线程)。

关于java - 停止线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1017259/

相关文章:

Java - 为什么 mouseClicked 方法在执行完成后不会永久重置变量?

java - app_name 无法解析或不是 eclipse android 中的字段

c# - EF vs SQL 奇怪的慢

bash - debian/64 上的 iowait for while/sleep bash 脚本

java - 如何将矩阵保存在文本文件中

java - 搜索 HTTPS Session 中的 SessionID、SessionKey

java - 滑动 Recyclerview 删除滑动项目但再次添加最后一项

python - 从python中的多个线程读取单个文件

java - java中String变量的并发访问

c# - Directory.EnumerateFiles 与 Directory.GetFiles 之间有什么区别?