1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
#include <stdio.h>
#include <pthread.h>
#include <unistd.h>
static pthread_t lFatherThread;
static pthread_t lChildThread;
static void *ChildFunction()
{
printf(">ChildFunction\n");
sleep(5);
printf("<ChildFunction\n");
return ((void *) 0);
}
static void *FatherFunction()
{
int rv;
printf(">FatherFunction\n");
rv = pthread_create(&lChildThread, (pthread_attr_t *)NULL, ChildFunction, (void *)NULL);
if (rv < 0)
{
printf("2nd pthread_create failed : %d\n", rv);
return 0;
}
printf("<FatherFunction\n");
return ((void *) 0);
}
int main(void)
{
int rv;
printf(">main\n");
rv = pthread_create(&lFatherThread, (pthread_attr_t *)NULL, FatherFunction, (void *)NULL);
if (rv<0)
{
printf("main : first pthread_create failed : %d\n", rv);
return 0;
}
printf("<main\n");
return 0;
} |
Partager