-1
使用的建議在這裏找到(How to spawn n threads?)我寫了下面:在for循環創建線程:通過同一所有線程的「i」值
int threads_count = 2;
pthread_t *threads = calloc(threads_count, sizeof(pthread_t));
int j;
for(j = 0; j < threads_count; j++) {
int thread_number = j;
int status = pthread_create(&threads[j], NULL, &my_func, (void *) &thread_number);
}
的my_func
的有關部分,例如:
void *my_func(void *thread) {
int *thread_no = (int *) thread;
pthread_t thread_id = pthread_self();
printf("Thread number: %i\nThread ID: %u\n", *thread_no, thread_id);
...
}
不幸的是,對於原因,我不明白,這有每個線程都有線程數目(不包括ID)2.
任何意見,將不勝感激的效果!
編輯:繼答案的建議下,我做了相應的INTS的全局數組,並通過引用作爲&改編[I],從for循環