首页新闻找找看学习计划

关于CPU处理多线程问题

0
悬赏园豆:5 [已解决问题] 解决于 2016-05-31 09:24

我现在用C#写了一个窗体软件,软件可以根据输入的线程数自动开启相应的线程,我现在不知道开几个线程来处理最好?下面是数据处理的一些描述,望大家给点建议。

    我的电脑CPU是fx8350八核八线程主频是4G内存4G

    数据库里有30万条url链接数据要处理,提取数据会占用将近1G的内存,30万条数据在主线程按线程数分配任务,开启相应的线程数处理分配的任务(全部线程是一起开启的),任务的内容是给链接加前缀然后连接获取html文本数据,从里面找出需要的数据并写入数据库。开几个线程合适?开8个以上是不是都会运行?运行情况是什么样的?会出现部分线程等待吗?或者出现过多的线程开启反而降低了性能?

  主线程任务分配会花掉两分钟时间,自己计算了一下如果用一个线程去处理这30万条数据需要六天时间,多线程处理估计也会花很长的时间,现在是打算间断处理这些数据。

Xamalin的主页 Xamalin | 初学一级 | 园豆:187
提问于:2016-05-28 11:28
< >
分享
最佳答案
1

没有放之四海而皆准的答案,自己测试吧,或者你花多几百元买16G内存,比你花5天时间优化程序效果还更好。

30万条数又不是30亿条。

30万条数据需要6天时间,瓶颈不在线程,在数据库、内存、硬盘和CPU上。

收获园豆:5
爱编程的大叔 | 高人七级 |园豆:30471 | 2016-05-28 11:43

谢谢大叔,现在明白了,程序做的再好,硬件也要跟得上,现在就去淘几根内存条(●'◡'●)

Xamalin | 园豆:187 (初学一级) | 2016-05-31 09:16
其他回答(1)
0

8核8线程的CPU就这么被你糟蹋了

 

 

Y2zz | 园豆:393 (菜鸟二级) | 2016-05-29 11:33

手上的电脑几乎都是八线程的,是按游戏主机线程数来配的,配的时候内存也是8G,之后坏了一条,不知道怎么回事,内存条特别容易坏( ▼-▼ )

支持(0) 反对(0) Xamalin | 园豆:187 (初学一级) | 2016-05-31 09:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册