当前位置:  技术问答>各位大侠,求助一个关于ubuntu系统的问题 iis7站长之家

求助:有关linux下的线程编程问题-生产者消费者问题

    来源: 互联网  发布时间:2016-09-10

    本文导语:  我写了一个程序,关于经典模型:生产者和消费者的问题,我采用linux下的线程的互斥的方式实现的,其中有三个信号量:avail和full:表示生产者和消费这线程间的同步问题,mutex表示两个线程之间的互斥问题。其中av...

我写了一个程序,关于经典模型:生产者和消费者的问题,我采用linux下的线程的互斥的方式实现的,其中有三个信号量:avail和full:表示生产者和消费这线程间的同步问题,mutex表示两个线程之间的互斥问题。其中avail:有界缓冲区的空单元数,开始初始值为N,full:有界缓冲区的非空单元数,初始值为0,mutex为互斥信号,初始值为1;程序如下:
目前的问题是:这个程序经过
gcc -o producer_customer.o -g -Wall -lrt producer_customer.c
运行后,没有像想象的那么运行,应该是无限循环的,可是这个程序之运行了几次生产和消费的过程,就听下来了,不再运行了,请教大虾们阿.........................
程序代码:
/*
函数名:producer_customer.c
函数功能:实现生产者和消费者之间的关系。采用线程机制,在同一个线程中实现这一机制,采用信号量实现他们之间的流程
*/
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include

#define MYFIFO "myfifo"//缓冲区管道名
#define BUFFER_SIZE 3//缓冲区单元数
#define UNIT_SIZE                6//缓冲区的单元大小
#define RUN_TIME 30//运行时间
#define DELAY_TIME 5//最大周期时间

int fd;
time_t end_time;
sem_t mutex,avail,full;//信号量 mutex:互斥信号量,avail:有界缓冲区的空单元数,full:有界缓冲区的非空单元数
int real_read;
char buff[UNIT_SIZE];
int real_write_size;
int delay_time_p=2;
int delay_time_c=5;

void *producer();//生产者
void *customer();//消费者进程

int  main()
{
        pthread_t pth_pro_id,pth_cus_id;
        int res;
       
        end_time        =        time(NULL)+RUN_TIME;
        //mutex        =        1;
        //fd        =        mkfifo(MYFIFO,O_CREAT|O_EXCL|0x666);       
        if((mkfifo(MYFIFO,O_CREAT|O_EXCL|0x666)

    
 
 

您可能感兴趣的文章:

  • 【求助】iplanet问题,求助高手解答!
  • 菜鸟求助,solaris下计算问题求助
  • 【求助】SOS紧急求助..............极为简单的问题...跪求....
  • module的问题.版本问题 求助
  • 求助关于linux和windows引导lilo的问题
  • 求助~~求助 ~~linux文件读写问题
  • 求助! 又出现问题了!
  • 一个简单的问题,高分求助!!!
  • VJ的一个问题,高分求助,熟悉VJ得请进!
  • socket实现多文件并发传输,求助多线程实现问题?
  • 各位大侠,求助一个关于ubuntu系统的问题
  • 100分求助,Ubuntu安装问题
  • linux的 iptables问题求助
  • 100分求助:关于linux下配置sendmail的问题
  • 急求助!安装linux后重装windows的问题
  • QT中关于方向键控制焦点的问题(求助)
  • 求助关于__cdecl的使用问题
  • 求助: 在ubuntu11.04上的有线连接问题
  • 急!!!小弟刚刚接触linux 在线求助<很简单的问题>
  • 求助: RedHat as4 内网正常,无法访问外网的问题!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 紧急求助java多线程编程!!!!!!!!!!!!!
  • 求助,线程的回收
  • 求助Linux下怎样查看线程状态?
  • 线程内部的errno问题求助
  • Opengl Linux多线程 求助
  • 求助多线程问题
  • 求助:Linux下线程编程的问题~~~~~~~~~~~~~~~~~~~`
  • 求助:关于单线程recv时的超时问题
  • 求助!Linux下socket编程,服务端与多线程的问题
  • ■■求助■■ 如何查看一个进程拥有的线程数量???
  • 【求助】在主线程里如何终止子线程的执行?
  • 求助!Linux多线程问题
  • 求助!!!多线程+多个epoll_wait问题
  • 求助!pthread与Win32 API线程库的对应问题
  • 【求助】如何使运行中的线程挂起?
  • 求助linux下socket多线程编程的例子(C语言写的)
  • (100分求助)用内核线程对用户进程操作(大侠/虾们出手了)
  • 求助!关于多线程下数据库操作的问题,请大家帮忙看看
  • MM求助:怎样多线程下载http://java.sun.com上的东东? 用http方式,谢谢了.
  • 求助:阻塞socket在多线程情况下的防护问题
  • 高分求助高分求助高分求助高分求助高分求助高分求助
  • 怎样读取HZK24S前十区的内容啊???求助求助
  • 紧急求助!紧急求助!
  • 高分求助啊!求助SUSE 10.0 不能上网.
  • 急急急急急急急啊,紧急求助啊!!!!!满分求助啊!!!!!!
  • 求助:linux下 vim的配置(高分求助)
  • red hat怎么安装gcc啊!总是出错,求助求助啊!!!yum源怎么改啊!!
  • 求助:信号 --13 进程中断
  • 求助,安装了红帽子后进不了
  • 新装linux求助
  • (高分求助)请问,那里有软件开发的<设计文档>


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3