生产者消费者模型中线程如何正常退出

生产者:不停地往队列中放数据

消费者:不停地从队列中拿数据

两者通过两个信号量同步


当生产者不再生产数据时,消费者正好挂在一个信号量上,处于睡眠状态。这时候pthread_join也会一直挂着的。该如何使得消费者正常退出呢?

我的做法是让生产者在往队列中放一个【结束数据】,也就是一个标识,消费者拿到数据后,假设这个数据是结束标识则自杀退出。

原文地址:https://www.cnblogs.com/gcczhongduan/p/5089785.html