多线程程序设计

工人1 /2干活模型程序设计

#include<pthread.h>
#include<stdio.h>

pthread_t thread[2];
int number=0;
pthread_mutex_t mut;
void *worker1()
{
int i =0;

printf("i am worker1 ");

for(i=0;i<10;i++)
{
pthread_mutex_lock(&mut);
number++;
pthread_mutex_unlock(&mut);
printf("worker1 numberis %d ",number);

sleep(1);
}

pthread_exit(NULL);;
}

void *worker2()
{
int i =0;

printf("i am worker1 ");

for(i=0;i<10;i++)
{
pthread_mutex_lock(&mut);
number++;
pthread_mutex_unlock(&mut);
printf("worker2 numberis %d ",number);

sleep(1);
}

pthread_exit(NULL);;
}

int main()
{
pthread_mutex_init(&mut,NULL);
//创建工人1线程
pthread_create(&thread[0], NULL,worker1,NULL);

//创建工人2线程

pthread_create(&thread[1], NULL,worker2,NULL);

//等待工人1线程结束
pthread_join( thread[0], NULL);

//等待工人1线程结束
pthread_join( thread[1], NULL);


return 0;

}

原文地址:https://www.cnblogs.com/1932238825qq/p/7371867.html