int main() {

clock_t start_time, end_time;

start_time=clock();


pthread_t tid[CORE];

int i;


if ( sem_init(&mysem,0,1) ) {

     perror("init");

    }


arr=(double*)malloc(sizeof(double)*SIZE);


srand((long)time(NULL)); /* initialize rand() */

printf("RAND_MAX: %i\n",  RAND_MAX);


for(i=0;i<CORE;i++)

{

threadDataArray[i].threadID =i;

threadDataArray[i].partial_sum=0.0;

pthread_create(&tid[i],NULL,thread_sum,(void*)&threadDataArray[i]);

}


for(i=0;i<CORE;i++)

{

pthread_join(&tid[i],NULL);

}

}



void *thread_sum(void *arg)

{

struct threadData *myData;


my threadData* ) arg;


int j;

j=myData->threadID;

arr[j]=rand_double();

printf("%d    %lf %p \n",j,arr[j],&arr[j]);

for (j; j < SIZE; j+=8)

{

//myData->partial_sum+=ar[i];

}

}


double rand_double(void){

double temp=rand()/(double)RAND_MAX;

return (MAX - MIN)*temp + MIN;

}


동적 배열 선언했으면 arr[index]=값 바로 넣는거 아닌가


싱글 스레드로 돌렸을때랑 다른가 어째서 같은 주소로 들어가지