相关疑难解决方法(0)

嵌套的Parallel.ForEach循环

我有一些代码,我目前正在优化多核架构中的并发性.在我的一个类中,我发现了一个嵌套foreach循环.基本上,外部循环遍历一个NetworkInterface对象数组.内循环通过网络接口IP地址进行迭代.

它让我思考,嵌套Parallel.ForEach循环一定是个好主意吗?阅读本文后(同一列表上的嵌套Parallel.ForEach循环?)我仍然不确定在效率和并行设计方面适用的是什么.此示例将Parallel.Foreach处理应用于列表的语句,其中两个循环都在该列表上执行操作.

在我的例子中,循环正在做不同的事情,所以,我应该:

  1. 使用嵌套的Parallel.ForEach循环?
  2. 父循环上的User Parallel.ForEach并保持内循环原样?

.net c# concurrency performance task-parallel-library

23
推荐指数
1
解决办法
2万
查看次数

素数算法

谁能告诉我如何在C中实现Eratosthenes算法的Sieve?我需要生成素数但我的算法很慢.

我的代码:

#include <stdio.h>

int prime(long int i)
{
    long int j;
    int state = 1;
    for(j=2;j<i;j++)
    {
        if((i%j)==0){state=0;break;}
    }
    return state;
}

int main()
{
    int t;
    long int m,n,i;
    scanf("%d", &t);
    while(t--) {
        scanf("%d %d", &m,&n);
        for(i=m;i<=n;i++)
        {
            if(i==1){
                //do nothing for 1
            } else{
                if(prime(i))printf("%d\n",i);
            }
        }
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

t 是测试用例的数量m和n是要打印质数的范围.

c algorithm

6
推荐指数
3
解决办法
2万
查看次数