//funkce která bude vykonávána v tásku, tuto funkci je možné přepsat tak, že použijeme DownloadStringAsync() ale je to v podstatě to samé jako vztvoření vlastního tásku
        private WebsiteDataModel DownloadWebsite(string websiteURL)
        {
            WebsiteDataModel output = new WebsiteDataModel();
            WebClient        client = new WebClient();

            output.WebsiteUrl  = websiteURL;
            output.websiteData = client.DownloadString(websiteURL);
            return(output);
        }
        //Asynchroní funkce 1, v podstatě pouze uvolňuje hlavní vlákno.
        public async Task RunDownloadAsync()
        {
            Stopwatch watch = Stopwatch.StartNew();

            foreach (string site in PrepData)
            {
                WebsiteDataModel result = await Task.Run(() => DownloadWebsite(site));

                Console.WriteLine($"{result.WebsiteUrl} : {result.websiteData.Length}");
            }
            watch.Stop();
            Console.WriteLine(watch.ElapsedMilliseconds);
        }