您的位置:首页 > 运维架构 > Linux

linux系统编程模拟火车售票

2017-08-17 21:06 155 查看
#include<semaphore.h>

#include<pthread.h>

pthread_mutex_t lock;//定义互斥锁

pthread_cond_t cond;//定义条件变量

sem_t sem;//定义信号量

int t=20;

void *pth_1(void *arg)

{

        while(1)

        {

                sem_wait(&sem);

                if(t>0)

                {

                        printf("站点1:售出第%d张票\n",t);

                        t--;

                        printf("剩余%d张票\n",t);

                        if(t==0)

                        {

                                pthread_cond_signal(&cond);

                        }

                        sleep(1);

                }

                else

                {

                        printf("售票点1:票已售完!\n");

                        sem_post(&sem);

                        pthread_exit(0);

                }

                sem_post(&sem);//释放信号量

                sleep(1);

"signe.c" 102L, 2016C                                                                                                                       4,17           4%
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息