小编Dmo*_*Jr.的帖子

为什么多线程会变慢?

所以我正在尝试编写一个找到素数的程序.该项目的真正目的只是学习多线程.首先,我编写了一个单线程程序,它在1分钟内找到了最多13,633,943.我的多线程版本只有10,025,627.

这是我的单线程程序的代码

#include <iostream>

using namespace std;

bool isprime(long num)
{
    long lim = num/2;
    if(num == 1)
    {
        return 0;
    }
    for(long i = 2; i <= lim; i++)
    {
        if (num % i == 0)
        {
            return 0;
        }
        else{ lim = num/i; }
    }
    return 1;
}

int main()
{
    long lim;
    cout << "How many numbers should I test: ";
    cin >> lim;
    for(long i = 1; i <= lim || lim == 0; i++)
    { …
Run Code Online (Sandbox Code Playgroud)

c c++ multithreading

12
推荐指数
2
解决办法
3979
查看次数

标签 统计

c ×1

c++ ×1

multithreading ×1