List<string>nameList=new ....
这里有个名字集合,里面存着10000个名字
我现在要把里面名字循环 发送post请求到一个api
单线程的话太慢了,如何开启多个线程 执行我这个操作?
如果new 多个Thread的话,感觉没有同步
顺便在问下大家,现在C# 多线程的话 都用Task了?
把集合拆成多组,比如1-50个 、50-100个、100-150个等,然后在窗口设置2个输入框,设置输入开始的位置,然后重复打开多个下载窗体来下载就行了
你的意思是这里有个小算法是不是? 比如1000个名字 我分成20组 每组50个名字 就是20个线程
@扶着往事走: 你将2个文本框里的数值传给你的循环开始和结束:如for (int i = indexStart; i < indexEnd; i++) 然后把indexStart这个参数给你的集合 如:(modelList[indexStart])这样他就会从这个数值开始,接下来就是打开多个窗口,就好像我之前说的那样,不过能开几个线程得看你的电脑是几核的
都不用task了. nameList.AsParallel().ForAll(m=> {上传m})
比如 你这个好像应该是同时执行的?
第一次看到这种方法,之前不知道,看眼界了。谢谢阿
能给我讲解一下就更好了
原来是plinq啊
长知识了
@扶着往事走: 并行计算。。
并行计算的数量多的是会出异常,也得分组
你把你的集合分成多个分集合,然后每个集合开一个线程不就好了吗,这个貌似和是不是执行同一个方法没冲突啊