为什么实现同样的功能用循环就快,用多线程就非常慢?所用时间是循环的10倍! 小弟用7个线程分别去调用7个webservice,用来得到数据库中的数据,(每个webservice分别对应一个数据库).但等待7个线程全部结束需要很长时间,还不如不用多线程,直接用循环顺次调用7个webservice,比用多线程要快得多,不知为什么,还请高手指教! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 to fd7893:可是我的7个webservice分别在不同的机器上,数据库也在不同的机器上.用循环也得分别调用每个webservice.为什么他就只用了6秒,而多线程用了49秒? 你的7个webservice不是同时做的,也就是说,你要等待一个webservice完成后才进行下面一个,虽然说是7个webservice,但是实际上是一个webservice进行工作,中间还有线程间的切换时间 sorry,说错了肯定有死锁的情况,如果7个线程互不影响,即使完全同步也不可能慢那么多顶多慢一点而已(线程切换的时间) /*你的7个webservice不是同时做的,也就是说,你要等待一个webservice完成后才进行下面一个,虽然说是7个webservice,但是实际上是一个webservice进行工作,中间还有线程间的切换时间*/只线程切换的的开销不可能慢那么多的,肯定有死锁的情况 你把类似Monitor.Wait();的等待,还有Sleep都去掉看看。虽然可能引起线程冲突,不过看看速度,测试一下总是问题不大的。 c#求助 C#中怎么样判断调进来的TXT文本内容已经读到最后 【初学者求教】急...对象不能从 DBNull 转换为其他类型 asp.net中如何设计一个无模式窗口 Socket 10035 初学dotLucene的一个问题(100分) ListBox 一个小工具源码 ,下载所有http页面媒体文件并按照目录节构保存到指定目录 通过起始IP和IP总个数,求得所有的连续IP C#的问题??【[在网页上实现]】 请[huo789(四火)]来这里领分 用c#.NET做的托盘程序,在关机时由于该托盘的存在,计算机不能关机或重起。谁知道是什么原因?如何处理?
可是我的7个webservice分别在不同的机器上,数据库也在不同的机器上.用循环也得分别调用每个webservice.为什么他就只用了6秒,而多线程用了49秒?
顶多慢一点而已(线程切换的时间)
你的7个webservice不是同时做的,也就是说,你要等待一个webservice完成后才进行下面一个,虽然说是7个webservice,但是实际上是一个webservice进行工作,中间还有线程间的切换时间
*/只线程切换的的开销不可能慢那么多的,肯定有死锁的情况