小编Shi*_*hra的帖子

从“void* (*)(int*)”到“void* (*)(void*)”的无效转换

我正在尝试计算多线程 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)

c++ multithreading

0
推荐指数
1
解决办法
133
查看次数

标签 统计

c++ ×1

multithreading ×1