多线程执行同个任务,该怎么解决

多线程执行同个任务
项目中需要批量数据调用接口返回状态,并更新至数据库,怕真实环境中调用接口时间太久,经理要求使用多线程去处理,网上查看了相关资料,发现都是多线程执行的是不同的方法,怎样怎能做的多个线程执行同个方法?

比如:现在选择100条数据,循环调用接口,怎样使用多线程同步处理
for(int i=0;i<1000;i++)
{
    //调用接口
   //更新数据库
}
------解决思路----------------------
多线程执行同个方法,也要加不同参数
否则多线程执行的是完全相同的代码,这样做是没有意义的行为
------解决思路----------------------
可以定义线程函数:
void ThFunc(object o){//这里写你的接口方法,通过传递进不同的o,进行不同的处理};

for(int i=0;i<1000;i++)
{
Thread th=new Thread(ThFunc);
th.Start(i);
}
------解决思路----------------------
当然是并行啊....


tasks.parallel.for(0,100,(i)=>{
//调用接口...
});

------解决思路----------------------
思路最好再设计下。实际上你的接口能支持多少并发我不知道,但更新数据库最好串行的去做

直接按你说的实现倒是简单:
            ParallelEnumerable.Range(0, 1000).ForAll(i =>
            {
                //调用接口
                //更新数据库
            });

------解决思路----------------------
更新到数据库那多线程有太多含义么?
------解决思路----------------------
引用:
需求是需要多个线程执行同个函数,都是调用同个接口

都调用同个接口,每个线程也要传递进不同的参数去调用才对吧
否则这样做有任何意义??
都是同样的数据,同时向数据库里update,你开10000个线程跟开1个有什么区别?
------解决思路----------------------
引用:
主要是想当其中一请求接口时间太长,可以有其他线程去完成剩下数据的更新,而不用等待

产生脏数据怎么办?
------解决思路----------------------
可否将接口分组, 然后一组分配一个线程来处理~

这样,一个线程请求接口时间长,那也只是这一组的执行时间延长……