我应该创建多少个线程。 [英] How Many thread should I create.
问题描述
我的要求是:
1.从url1和url2查询数据
2.比较两个网址的数据查找有价值的数据。
3.做3次交易。
我使用20个账户查询数据。一个帐户成交了。我创建了40个用于查询数据的长期线程(20 url1,20 url2)。并且在获取一些有价值的数据时使用3个任务进行交易。每个帐户查询数据间隔为500毫秒。我希望每20毫秒查询一次数据。如何使线程按正确的时间表进行?有多少线程是合理的?
环境:windows server 2003 sp2
.net 4.0
My requirements are:
1. Query data from url1 and url2
2. Compare two urls' data find valuable data.
3. Make 3 times deal.
I used 20 accounts to query data. And one account made deal. I create 40 long term threads for querying data(20 url1, 20 url2). And use 3 task to make deal when get some valuable data. Every account query data interval is 500 ms. I want every 20 ms to query data. How to make the thread on right schedule? And how many threads will be reasonable?
Environment: windows server 2003 sp2
.net 4.0
推荐答案
一般来说,你应该只创建等于核心数的线程,如果你在.net 4那么你应该使用任务
而不是Thread
哪个更轻更快。
通过C#实现任务并行的基础知识 [ ^ ]
Generally you should only create threads equal to your core count, if you are on .net 4 then you should useTask
instead ofThread
which are lighter and faster.
The Basics of Task Parallelism via C#[^]
这篇关于我应该创建多少个线程。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!