#include<stdio.h>
#include<pthread.h>
/*前两个必须设置为全局变量*/
static pthread_mutex_t testlock;
pthread_t test;
int i=0;
void *func()
{
pthread_mutex_lock(&testlock);
printf("我是子进程\n");
while(i<20)
printf("%d\n",i++);
pthread_mutex_unlock(&testlock);
}
int main()
{
pthread_mutex_init(&testlock,NULL);
pthread_create(&test,NULL,func,NULL);
sleep(1);
pthread_mutex_lock(&testlock);//睡眠一秒后子线程抢先锁定,主进程被阻塞
printf("我是主进程\n");
while(i<10)
printf("%d\n",i++);
pthread_mutex_unlock(&testlock);
return 0;
}