91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

c# curl如何實現多線程下載

c#
小樊
99
2024-07-10 01:02:26
欄目: 編程語言

在C#中,可以使用HttpClient類和Task類來實現多線程下載。以下是一個簡單的示例代碼,演示如何使用多線程下載多個文件:

using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        string[] urls = { "url1", "url2", "url3" }; // 定義要下載的文件URL

        var tasks = new Task[urls.Length];

        for (int i = 0; i < urls.Length; i++)
        {
            tasks[i] = DownloadFile(urls[i]);
        }

        await Task.WhenAll(tasks);

        Console.WriteLine("All files downloaded successfully.");
    }

    static async Task DownloadFile(string url)
    {
        using (var client = new HttpClient())
        {
            var response = await client.GetAsync(url);

            if (response.IsSuccessStatusCode)
            {
                var fileName = url.Substring(url.LastIndexOf('/') + 1);

                using (var fileStream = System.IO.File.Create(fileName))
                {
                    await response.Content.CopyToAsync(fileStream);
                }

                Console.WriteLine($"File {fileName} downloaded successfully.");
            }
            else
            {
                Console.WriteLine($"Failed to download file from {url}. Status code: {response.StatusCode}");
            }
        }
    }
}

在上面的代碼中,我們通過Task類創建了多個下載文件的任務,并使用Task.WhenAll方法等待所有任務完成。每個下載任務都使用HttpClient類來發送HTTP請求并下載文件。當所有文件下載完成后,會輸出"All files downloaded successfully."。

0
岚皋县| 青龙| 安乡县| 嫩江县| 习水县| 永德县| 明溪县| 寿阳县| 百色市| 凤台县| 沭阳县| 岚皋县| 东乌珠穆沁旗| 雅江县| 固始县| 浦城县| 高要市| 贵定县| 西宁市| 镇康县| 高雄市| 长寿区| 油尖旺区| 镇雄县| 邵武市| 岫岩| 恩施市| 黔西县| 泰顺县| 翁源县| 广灵县| 鄱阳县| 扶绥县| 峨边| 正阳县| 平谷区| 富源县| 灵寿县| 偃师市| 大埔县| 噶尔县|