我想使用线程池异步下载多个冰川文件。我当前的方法使用High Level API进行Glacier下载,但是每个线程都会等待下载方法,直到下载作业完成。以下是所有踏板等待的代码
ArchiveTransferManager manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USEast1);
DownloadOptions options = new DownloadOptions();
manager.Download(vaultName, archiveId, downloadFilePath, options);
有人可以建议我如何异步下载存档,以便我的线程在获得作业ID后回来,并且在下载完成时会引发一些事件。
此致 Haseena
答案 0 :(得分:1)
如果亚马逊不提供异步API,您需要自己实施。每个下载都有一个线程,下载完成后让下载线程通知主线程。
TPL可以帮助您自动执行此操作 - 创建一个下载文件的任务,并在其上await
。