传智课程学习笔记。
线程的死分两种,
同归于尽,即,pthread_exit(NULL),这时候整个进程都会结束,
自杀,exit(0);
他杀,pthread_cancel(),很少用,
pthread_join( tid, NULL ); 父线程等待子线程结束,
pthread_detach(); 线程脱离,比如子线程中调用,参数通过self函数传入,
这个代码,随便看看,就行,
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <pthread.h>
int g_num = 0;
void *thread_routine( void *arg)
{
int i = 0;
printf("g_num:%d", g_num);
printf(" i am thread...\n");
for( i=0; i<20; i++)
{
printf("0");
fflush( stdout);
}
sleep( 3);
return NULL;
}
int main()
{
int i = 0;
printf("hello...\n");
pthread_t tid;
g_num = 11;
pthread_create( &tid, NULL, thread_routine, NULL);
for( i=0; i<20; i++)
{
printf("0");
fflush( stdout);
}
pthread_join( tid, NULL);
printf();
}