#include <iostream>
#include <thread>
#include<random>
using namespace std;
#define Pthread_num 10
线程数
#define N 100000
数组大小
vector<int> arr//数组
int begin=0;
int result =0;
void sumarr(int now,int range)
{
for(int i = now*range;i<now*range+range;i++)
result += arr[i];
cout<<result<<endl;
}
int main()
{
random_device r;//随机数
for(int i=0;i<N;i++)
{
arr.push_back(r()%10);
}
int range= N/Pthread_num;
vector<thread> need_join;
for(int i= 0;i < Pthread_num;i++)
{
need_join.emplace_back(sumarr,i,range);
}
//当所有线程退出的时候,才能让主线程退出,不然得不到正确结果
for(auto &i: need_join)
{
i.join();
}
cout <<result<<endl;
return 0;
}