How does C# 5.0's async-await feature differ from the TPL?
问题 I don't see the different between C#'s (and VB's) new async features, and .NET 4.0's Task Parallel Library. Take, for example, Eric Lippert's code from here: async void ArchiveDocuments(List<Url> urls) { Task archive = null; for(int i = 0; i < urls.Count; ++i) { var document = await FetchAsync(urls[i]); if (archive != null) await archive; archive = ArchiveAsync(document); } } It seems that the await keyword is serving two different purposes. The first occurrence ( FetchAsync ) seems to mean,