BUG报告:线程死锁

2014年5月15日 由 Creater 留言 »

一段帧的完整性匹配算法,有线程死锁的情况,在该文的第23行的continue应为break;

原因分析:
当循环队列中数据个数少于2时,消费者线程一直执行if(cir.size() < 2) continue,在执行的同时还占有锁;在生产者端有数据要放入循环队列时,试图获得互斥锁失败,导致数据插入循环队列失败。最终的结果是消费者线程一直饥饿等待数据到来,生产者有很多数据但是不能获得锁而不能产生数据。

广告位

发表评论

你必须 登陆 方可发表评论.