Разделите размер между нитками - PullRequest
0 голосов
/ 08 мая 2020

Я вроде новичок в параллельных вычислениях, поэтому, глядя на java код для потоковой передачи:

int threadNum = 2;
in middleSum[threadNum];
int size = 2000;
int i = 0;
int sum = 0;
int array[size];
int setThreadSize = size/threadNum;


// this part will be excueted by a thread with different `idThread`
for(i=idThread*setThreadSize;i<(idThread-1)*setThreadSize;i++){
    middleSum[idThread] += array[i];
}

wait(); // waiting function that should wait for all threads



// only first thread (thread 0) will excute this part
if(idThread==0){
    for(i=0;i<threadNum;i++){
        sum += middleSum[i];
    }
}

Насколько я могу видеть, массив правильно разделен между потоками, но я не уверен; как вы думаете?

...