0

我想使用线程池异步下载多个冰川文件。我目前的方法使用高级 API 进行 Glacier 下载,但每个线程都在下载方法处等待,直到下载作业完成。下面是所有踏板都在等待的代码

            ArchiveTransferManager manager = new     ArchiveTransferManager(Amazon.RegionEndpoint.USEast1);
            DownloadOptions options = new DownloadOptions();
            manager.Download(vaultName, archiveId, downloadFilePath, options); 

有人可以建议我如何异步下载存档,以便我的线程在获取作业 ID 后应该返回,并且在下载完成时应该引发一些事件。

问候,哈西娜

4

1 回答 1

1

如果 Amazon 不提供异步 API,您需要自己实现一个。您已经为每个下载创建了一个线程,只需在下载完成时让您的下载线程通知您的主线程。

TPL 可以帮助您自动执行此操作 - 创建一个下载文件的任务,并await在其上。

于 2014-03-17T10:28:59.003 回答