Task.WhenAll () - Erstellt es einen neuen Thread?

GemäßMSDN:

Erstellt eine Aufgabe, die abgeschlossen wird, wenn alle bereitgestellten Aufgaben abgeschlossen sind.

Wenn Task.WhenAll () aufgerufen wird, wird eine Aufgabe erstellt. Bedeutet dies jedoch, dass ein neuer Thread erstellt wird, um diese Aufgabe auszuführen? Wie viele Threads werden beispielsweise in der folgenden Konsolenanwendung erstellt?

class Program
{
    static void Main(string[] args)
    {
        RunAsync();
        Console.ReadKey();
    }

    public static async Task RunAsync()
    {

        Stopwatch sw = new Stopwatch();
        sw.Start();
        Task<string> google = GetString("http://www.google.com");
        Task<string> microsoft = GetString("http://www.microsoft.com");
        Task<string> lifehacker = GetString("http://www.lifehacker.com");
        Task<string> engadget = GetString("http://www.engadget.com");

        await Task.WhenAll(google, microsoft, lifehacker, engadget);
        sw.Stop();
        Console.WriteLine("Time elapsed: " + sw.Elapsed.TotalSeconds);
    }

    public static async Task<string> GetString(string url)
    {
        using (var client = new HttpClient())
        {
            return await client.GetStringAsync(url);
        }
    }
}

Antworten auf die Frage(1)

Ihre Antwort auf die Frage