1

我的代码调用从 Internet 下载文件的 API 方法。因为下载可能需要很长时间,我想为用户提供取消下载的能力,如果他们在后台线程处理文件下载时关闭显示进度条的窗口。

我不确定我对 API 方法调用的代码有任何控制权,所以我假设我没有选项来指示此代码需要取消下载操作。

如果这个假设是正确的,我如何根据用户请求终止文件下载操作,而不必中止/中断或以其他方式终止执行实际文件下载的后台线程?

4

1 回答 1

1

我希望一个设计合理的文件下载方法是可中断的。所以你需要中断正在完成下载的线程,这应该取消下载(该方法应该抛出一个 InterruptedException)。

一旦你从下载线程中捕捉到异常,你就可以决定做什么,例如等待一个新的文件下载被提交(即不退出)。

于 2013-07-12T13:26:58.583 回答