teddyahu 2014-10-03 16:03 采纳率: 0%
浏览 2000

一个linux环境下C的多线程开发的问题

大家好!
我现在做的一个课题,是基于liunx环境下用C开发的。模型属于经典的生产者消费者模型,有一个生产者线程会根据接收的外部消息产生相应的任务放入缓存池,消费者再从缓存池中取任务处理。我的程序里消费者线程一开始是被阻塞的,生产者产生一个任务后会唤醒消费者,然后消费者进入循环,只要缓存池不空就处理,缓存池就是一个环形队列。
调试程序的时候发现程序会让生产者线程接连接收好几条消息然后产生好几条任务后(最多的有十几条),消费者线程才能运行,而不是产生一个任务后消费者就能及时运行。我想知道为什么会出现这种情况?

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥35 平滑拟合曲线该如何生成
    • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
    • ¥15 名为“Product”的列已属于此 DataTable
    • ¥15 安卓adb backup备份应用数据失败
    • ¥15 eclipse运行项目时遇到的问题
    • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
    • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
    • ¥15 自己瞎改改,结果现在又运行不了了
    • ¥15 链式存储应该如何解决
    • ¥50 成都蓉城足球俱乐部小程序抢票