【发布时间】:2017-09-27 10:40:57
【问题描述】:
我正在研究一个相当简单的生产者/消费者场景:我有一些线程将数据传递到监视器,而其他线程在监视器中等待数据,将其删除并将数据传递到另一个监视器。在某一时刻,生产者都将他们最后的数据传送到监视器。在消费者消费完监视器中的最后一个数据后,需要告诉他们不要等待来自监视器的更多数据。为了使其正常运行,消费者线程需要在最后一个生产者线程产生它的最后一位数据时得到通知,并且没有更多数据到期。我确信有多种方法可以做到这一点。到目前为止,监视器计算活动生产者线程的数量,当生产者线程完成时,它会告诉监视器。我很好奇,但更优雅的方法是什么。
【问题讨论】:
标签: java multithreading