使用执行者服务的生产者使用者模式中的死锁方案

时间:2018-08-23 12:30:10

标签: java-8 producer-consumer threadpoolexecutor

在使用ExecutorService的生产者使用者模式中,如果所有线程都开始执行消费者任务并阻塞自己,等待生产者无限期地推送数据,该怎么办?

这有可能发生吗?  如果我说要下载的X号不是Url,然后解析内容并将其存储在数据库中。我使用生产者和消费者的多线程类比来解决该问题。

生产者将下载内容并将数据放入大小为Y的BlockingQueue中(例如Y

现在说我创建了一个N个线程池,其中N <

在这种情况下,如果所有线程都执行使用者任务并被阻塞 当它试图从阻塞队列中收集数据时。然后基本上我没有线程来执行生产者任务,而我陷入了僵局。

0 个答案:

没有答案