如何在一个线程中监听海量不同账号的IMAP文件夹?

How to listen a huge number of IMAP folders of differnet accounts in one thread?

假设我有一个 IOS 邮件客户端和 Java 服务器与此 IOS 应用程序连接。

而且我需要在新邮件到达收件箱文件夹时进行实时推送。

数千个账户的循环检查很慢...

但是,如果我尝试使用 IMAP Idle,我会面临这样一个事实,即我需要为我正在检查的每个帐户保留 2 个线程。 (一个线程在 folder.idle() 调用时休眠。第二个是让第一个保持活动状态,因为空闲状态不会永远持续)。

java 个线程的数量确实很大。

有什么方法可以在一个线程中管理所有空闲文件夹?

或者甚至是另一种实时推送的方式?..

谢谢。

使用 JavaMail IdleManager.