代码改变世界

dotNet 自带线程池与HTTP访问的若干疑问

2009-08-10 18:52  清炒白菜  阅读(342)  评论(0编辑  收藏  举报
疑问:
1. 用HttpWebResponse的同步方式, 配合.NET自带的线程池, 从WEB上获取数据, 运行一段时间后, 被阻塞的线程会越来越多, 直到所有任务全部完成, 那些被阻塞的线程才会全部退出(自动)
2. 用HttpWebResponse的异步方式,直接产生大量任务(1w个), 则大约有20%的任务没有被处理, 而程序任务已经全部处理完毕.

针对上述2种情况, 换用SmartThreadPool来实现同样1w个任务, 则没有任何问题, 线程数稳定在40左右, 而且所有任务都完成了(发生异常,也算是执行了任务)

Code
Args

(To be continued)