我写了一个函数string GetResponse(string url),用于访问一个url并得到结果。
然后我又同时执行N个相同的线程,在这些线程中循环调用GetResponse(url)(并发调用),结果程序运行速度很慢。而且当线程的数量开到100个或更多时,IIS有时还会报出服务太忙的错误。
但是如果我在调用于GetResponse(url)时进行线程同步lock(),即一次只能有一个线程操作GetResponse(url),则执行速度很快,IIS也很稳定。可这并不是我要求的功能。我要做的是模拟大量用户进行访问。 请问谁能解释一下这种现象的原因或对这种做法做一下分析?
然后我又同时执行N个相同的线程,在这些线程中循环调用GetResponse(url)(并发调用),结果程序运行速度很慢。而且当线程的数量开到100个或更多时,IIS有时还会报出服务太忙的错误。
但是如果我在调用于GetResponse(url)时进行线程同步lock(),即一次只能有一个线程操作GetResponse(url),则执行速度很快,IIS也很稳定。可这并不是我要求的功能。我要做的是模拟大量用户进行访问。 请问谁能解释一下这种现象的原因或对这种做法做一下分析?
解决方案 »
- 如何用邮件发送链接
- asp.net 调用Activefrom的问题,急
- 关于gridview模板列中的多行textbox问题
- 继续一个支持HTML编辑的控件,请问哪位兄弟以前做过,或者有类似的资源可以利用,多谢了先!!
- 请教高手,存储过程返回的DataTable,经GridView绑定后,列顺序都乱了
- treeView的NodeMouseClick事件在那里?
- .net里一个英文跟一个中文都算一个字.搞得我的页面好不工整啊.
- 我给大家推荐一个asp和asp.net学习平台!
- 如何用验证控件验证dropdownlist中的某一项是否被选中?
- 求助日期函数(在线等)
- 我是新手,请赐教!!
- 如何重命名上传的文件?
有Rational也提供了很好的一些工具
我再帮你顶哦。。
是这样吗?