有30W个数 要求找到最大的30个数和最小的30个数。用线程处理,线程数>=2我用的方法 const int RUNNUM = 2; const int MAX = 300000; void Run() //开始处理
{
for(int index = 0 ; index < RUNNUM ; index++)
{
ThreadPool.QueueUserWorkItem(new WaitCallback(DoWork), runparam ); // runparam 表示15W个数
}
} void DoWork(object obj)
{
int[] params = (int[])obj; //处理数据 int[] result = new int[60]; //用于储存15W个数中最大和最小条30条数据 Add(result) ;
}void Add(int []ints)
{
//判断各线程中的数,然后进行处理,得到最后的结果 即 最大30个数和最小30个数
}
有没速度更快的方法谢谢
{
for(int index = 0 ; index < RUNNUM ; index++)
{
ThreadPool.QueueUserWorkItem(new WaitCallback(DoWork), runparam ); // runparam 表示15W个数
}
} void DoWork(object obj)
{
int[] params = (int[])obj; //处理数据 int[] result = new int[60]; //用于储存15W个数中最大和最小条30条数据 Add(result) ;
}void Add(int []ints)
{
//判断各线程中的数,然后进行处理,得到最后的结果 即 最大30个数和最小30个数
}
有没速度更快的方法谢谢
解决方案 »
- Microsoft.Jet.OLEDB.4.0 读Excel
- 字符串里所有字母的所有有效单词组合
- 关于UPDATE数据性能的问题。
- List 组合排序 请给简单源代码
- 估计没人能够解决的问题!
- GetSchema 怎么取不到所有视图?
- 急!.net打包问题!为什么安装后,有.cs和.resx文件,而没有aspx文件?
- 一个删除数据的问题
- 引用word类库带来的问题,如何解决?
- 提示框与刷新页面的问题
- 我在多线程中执行对ACCESS数据库的insert和update操作,程序运行过程中出现“无法更新,当前被锁定”错误,请问怎么解决?
- 急求答案 !!! 读写卡后,内容后面跟着特殊字符,如何处理???
数据太多分页查询获取数据skip,take