多线程循环,我怎么感觉哪里不对?
static void Main(string[] args)
{
for (var i = 0; i < 5; i++)
{
Thread thread = new Thread(new ParameterizedThreadStart(ThreadMainWithParameters));
thread.Start(i);
}
Console.ReadKey();
}
public static void ThreadMainWithParameters(object num)
{
var list =productService.GetALL();//这里获取数据集,
lock (obj)
{
foreach (var i in list)
{
Console.WriteLine(i.name);
Thread.Sleep(500);
//list.Remove(i);//foreach是只读的,不可移除啊,
}
}
我想创建5个线程,每个线程带不同的参数去处理同一个数据集,简单的说,有一堆箱子(数据集),我找5个人来搬,每人搬一个箱子后,会休息一下,继续搬。 多线程 C# 数据
[解决办法]
productService.GetALL,做成GetNext会好一点,并把Look放这里去。
ThreadMainWithParameters() 就专心处理数据