doRowOffset[0] = 0;
for(threads = 1; threads < NUMTHREADS; threads++){
doRowOffset[threads] = threads;
printf("Do row: %d\n", doRowOffset[threads]);
pthread_create(&threadHandler[threads], NULL, multiplyRows, (void *) &doRowOffset[threads]);
}
と
void * multiplyRows(void * dealWithRows){
int offset = *((int *) dealWithRows);
printf("%d\n", *((int *) dealWithRows));
printf("Offset: %d\n", offset);
printf("Size: %d\n", partitionSize/NUMTHREADS);
printf("Calculated Offset: %d\n", offset*partitionSize/NUMTHREADS);
...
を以下している、新しいスレッドに渡す引数に問題が生じていますが今、私は次のように出力
が行を行います見ることを期待します。 1
オフセット:1
サイズ:2
計算されたオフセット:2
しかし、スレッドに入ると、私は引数の受け渡しに間違っているのですか?dealWithRowsの値は0になりますか?
doRowOffsetの定義を投稿してください。私はそれが 'int'だと思っているが、確かに良い。 – gbulmer