#include <stdio.h>
#include <pthread.h>
#include <unistd.h>
#include <stdlib.h>


void hello1(void)
{
printf("hello1\n");
}
void hello2(void)
{
printf("hello2\n");
}
void hello3(void)
{
printf("hello3\n");
while(1) sleep(1);
}

int main(int argc,char ** argv)
{
pthread_t ptid[3];
pthread_create(&ptid[0],NULL,(void *)hello1,NULL);
pthread_create(&ptid[1],NULL,(void *)hello2,NULL);
pthread_create(&ptid[2],NULL,(void *)hello3,NULL);
while(1) sleep(1);
}

 

函数原型:

 

int pthread_create(pthread_t *thread, const pthread_attr_t *attr,

                          void *(*start_routine) (void *), void *arg);

由于函数的返回值没法指定为void *,所以在使用的时候,在pthread_create中强转函数返回类型为(void *)