小编use*_*141的帖子

为什么我不能通过在C++ 11中运行多个线程来获得任何性能改进?

我有以下测试程序,其中包含一个简单的函数,可以找到我尝试在多个线程中运行的素数(仅作为示例).

#include <cstdio>
#include <iostream>
#include <ctime>
#include <thread>

void primefinder(void)
{
   int n = 300000;

   int i, j;
   int lastprime = 0;
   for(i = 2; i <= n; i++) {
      for(j = 2; j <= i; j++) {
           if((i % j) == 0) {
               if(i == j)
                   lastprime = i;
               else {
                   break;
               }
           }
      }
   }

   std::cout << "Prime: " << lastprime << std::endl;
}

int main(void)
{
   std::clock_t start;
   start = std::clock();

   std::thread t1(primefinder);
   t1.join();

   std::cout << …
Run Code Online (Sandbox Code Playgroud)

c++ parallel-processing multithreading c++11

4
推荐指数
1
解决办法
627
查看次数

标签 统计

c++ ×1

c++11 ×1

multithreading ×1

parallel-processing ×1