我是C中的多線程新手。我看了一些在線示例,發現在主函數中總是調用pthread_create()和pthread_join()。 爲〔實施例:必須在主函數中調用pthread_create()和pthread_join()嗎?
#include <stdio.h>
#include <pthread.h>
#define NTHREADS 10
void *thread_function(void *);
main()
{
pthread_t thread_id[NTHREADS];
int i, j;
for(i=0; i < NTHREADS; i++)
{
pthread_create(&thread_id[i], NULL, thread_function, NULL);
}
for(j=0; j < NTHREADS; j++)
{
pthread_join(thread_id[j], NULL);
}
}
我的問題是,是否有可能調用pthread_create(),並在pthread_join()比的主要功能之外的其他功能?我還看到了在thread_function前面有'&'的例子,是否有必要?如果是這樣,爲什麼?
使用'thread_function'和'&thread_function'在這裏是等價的。 – alk