我正在尝试计算多线程 C++ 程序来计算前 N 个整数的立方和。
每个线程应该计算一个部分和以在它们之间平均分配工作。与 pthread_create 参数苦苦挣扎,它给出了错误。
#include <iostream>
#include <pthread.h>
#define n 6
#define p 4
using namespace std;
int part = 0;
int arr[] = { 1,2,3,4,5,6 };
int sum[p]={0};
void* cube_array(int arr[])
{
int thread_part = part++;
for (int i = thread_part * (n/ p); i < (thread_part + 1) * (n/ p); i++) {
sum[thread_part] += arr[i]*arr[i]*arr[i];
}
return NULL;
}
// Driver Code
int main()
{
pthread_t threads[p];
for (int i = 0; i …Run Code Online (Sandbox Code Playgroud)