两万多次请求,HttpWebRequest类,使用多线程 执行两万多次请求,把结果存入数据库,使用多线程,给个思路我用线程池做,有的时候会请求超时无限new Thread很快就会请求超时、另外用Linq插入这两万多次请求的响应而来的字符串有没有压力 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用队列,10条线程。2W条执行的作业全部放到队列里面。10条线程每次从队列里面获取1条执行,执行完毕后获取下1条。当队列里面没有数据时结束线程。因为要涉及多线程并发请求的情况,请注意使用lock并且在必要的地方使用doublecheck。我不清楚你写入数据库的数据是必须每次都写还是将数据汇总后再写入。如果是后者建议先在内存出进行汇总,最后写入数据库。 2种都是多线程,而且你用线程池也没问题。问题是用法不对,你不应该一次性把所有任务扔到线程池里面。你可以waitone等待任何一个线程完成任务后再加入新的任务。 谢谢gzdiablo.我用你的方法,做了一个小规模测试。100次请求平均花费20秒我又测试了1000次请求,花费了3分多,但似乎很容易超时,有什么办法可以解决?。 谁跟你说的?只有当资源没有竞争时,比如说你有十几个CPU,而且计算机体系结构非常高级,而且包括操作系统、数据库系统等等也非常高级,而且你的业务逻辑也不存在什么数据库事务隔离冲突之类的,等等条件都具备,你的所谓“十分之一的时间”的断言才能成立啊。怎么能这样来随便夸大多线程呢?线程不是这样去使用的! 多长时间内请求两万次?平均间隔差不多?用Linq不会有什么问题的(有内置事务)关键在于根据需求合理分工不是弄个两万的循环在那儿new Task另外还有个叫定时器东西 怎么链接到Access2007数据库上? 实现窗口最小化任务栏的颜色变化。 C# 小白算法题 初始1,1,2,3,5,8.要求输入第X位数等于前两位之和 datagridview行头赋值 产生随机数的问题 自定义类的==运算符是object基类实现的么?? 用户登录出现问题 请问怎么返回当前运行线程的句柄标识,是对应win32的句柄? Microsoft Office Spreadsheet 11.0控件拖入页面后连接数据库出了问题,希望高手给点意见 在C#中如何得到磁盘驱动器的详细信息?如何得到系统图标?如何得到文件类型的注册图标? 求高手指教-如何显示图片指定位置 串口通信问题
因为要涉及多线程并发请求的情况,请注意使用lock并且在必要的地方使用doublecheck。
我不清楚你写入数据库的数据是必须每次都写还是将数据汇总后再写入。如果是后者建议先在内存出进行汇总,最后写入数据库。
谁跟你说的?只有当资源没有竞争时,比如说你有十几个CPU,而且计算机体系结构非常高级,而且包括操作系统、数据库系统等等也非常高级,而且你的业务逻辑也不存在什么数据库事务隔离冲突之类的,等等条件都具备,你的所谓“十分之一的时间”的断言才能成立啊。怎么能这样来随便夸大多线程呢?线程不是这样去使用的!
关键在于根据需求合理分工
不是弄个两万的循环在那儿new Task另外还有个叫定时器东西