If you have enumerable you can split it:
static var client = new HttpClient();
string[] urls = { "http://google.com", "http://yahoo.com", ... };
foreach (var urlsChunk in url.Chunk(20))
{
var htmls = await Task.WhenAll(urlsChunk.Select(url => client.GetStringAsync(url));
}