如题:
//多线程执行
public void DoSthByTask()
{
List<MODEL> list = GetList();//取出一个List, 然后多线程分别执行:
Task[] tasks = new Task[list.Count];//线程数组...
for (int i = 0; i < list.Count; i++)
{
int index = i;//i是多线程公用的,会造成混乱,不能直接用i,得用index
Task t = new Task(() => {
DoSth(list[index]);//单个线程,做点啥...DoSth的参数是一个实体,不可用全局变量
});
tasks[index] = t;//添加到线程数组
t.Start();//开始执行
}
Task.WaitAll(tasks);//等待线程执行完毕
}
//做点啥....
public void DoSth(MODEL m)
{
//...DoSth...
}