/*thread1.c*/
#include <pthread.h>
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
int global;
void *thread_function(void *arg)
{
int i,j;
for(i=0;i<10;i++)
{
j = global;
j++;
printf("-");
fflush(stdout);
global = j;
usleep(10000);
}
return NULL;
}
int main(void)
{
pthread_t th_new;
int i;
setbuf(stdout,NULL);
if(pthread_create(&th_new,NULL,thread_function,NULL))//创建线程
{
perror("error creating thread.");
abort();
}
for(i=0;i<10;i++)
{
global++;
printf("m");
fflush(stdout);
usleep(10000);
}
if(pthread_join(th_new,NULL))//使调用th_new的线程挂起并等待th_new线程终止
{
perror("error joining thread");
abort();
}
printf("\n result is :%d\n",global);
exit(0);
}
/*要编译这个程序:gcc -o thread1 thread1.c -lpthread*/