gpt4 book ai didi

c# - 如何启动线程异步?

转载 作者:太空宇宙 更新时间:2023-11-03 10:31:49 26 4
gpt4 key购买 nike

<分区>

我试图同时启动多个线程,但它不起作用。这是我的代码:

        var previous = 0;

var threadList = new List<Thread> {};
for (var i = (int)partSize; i <= responseLength; i = i + (int)partSize)
{
var t = new Thread(() => Download(URL, previous, i));
//t.Name = i.ToString();
threadList.Add(t);
//t.Start();
//t.Join(300);
//new Thread(() => {Download(URL,previous, i);}).Start();
//var t = Task.Factory.StartNew(() => Download(URL, previous, i));

previous = i;
}

foreach (Thread t in threadList)
{
//Console.WriteLine(t.Name);
t.Start();
}

输出:

77296,86958
77296,86958
77296,86958
77296,86958
77296,86958
77296,86958
77296,86958
77296,86958

显示一段时间后,它挂断并最终崩溃。

不同代码的预期输出:

        for (var i = (int)partSize; i <= responseLength; i = i + (int)partSize)
{
var copy = previous;
var t = new Thread(() => Download(URL, copy, i));
t.Start();
t.Join();

previous = i;
}

输出:

0,9662
9662,19324
19324,28986
28986,38648
38648,48310
48310,57972
57972,67634
67634,77296

至于输出,第一个数字表示从哪里开始下载一段文件,第二个数字表示从哪里结束(以字节为单位)如何使用我分配给它的参数启动列表中的每个线程?我迷路了,所以任何帮助都会很棒。谢谢!

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com