Copy Code code as follows:
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
void *t1 (void *args) {
return (void *) 0;
}
void *t2 (void *args) {
printf ("Thread 2 param[args] =%d\n", args);
Pthread_exit ((void *) 3);
}
void *t3 (void *args) {
while (1) {
printf ("Thread 3 is working\n");
Sleep (1);
}
}
int main (int argc, char *argv[]) {
pthread_t thread;
int err;
void *status;
printf ("Creating Thread 1\n");
err = pthread_create (&thread, NULL, T1, NULL);
if (Err) {
printf ("Can not created thread 1\n");
exit (-1);
}
pthread_join (thread, &status);
printf ("Thread 1 Exit return code%d\n\n", status);
printf ("Creating Thread 2\n");
Err = Pthread_create (&thread, NULL, T2, (void *) 9);
if (err) {
printf ("Can not created thread 2\n");
Exit (-2);
}
Pthread_join (thread, &status);
printf ("Thread 2 Exit Return code%d\n\n", status);
printf ("Creating Thread 3\n");
Err = pthread_create (&thread, NULL, T3, NULL);
if (err) {
printf ("Can not created thread 3\n");
Exit (-3);
}
Sleep (10);
Pthread_cancel (thread);
Pthread_join (thread, &status);
printf ("Thread 3 exit Return code%d\n", status);
return 1;
}