Я делаю программу, которая должна отслеживать учетную запись Gmail для новых сообщений, и для того, чтобы получить их как можно скорее, я использую функцию простоя Javamail. Вот фрагмент кода из потока, который я использую для вызова folder.idle (): < /p>
//Run method that waits for idle input. If an exception occurs, end the thread's life.
public void run() {
IMAPFolder folder = null;
try {
folder = getFolder();
while(true) {
//If connection has been lost, attempt to restore it
if (!folder.isOpen())
folder = getFolder();
//Wait until something happens in inbox
folder.idle(true);
//Notify controller of event
cont.inboxEventOccured();
}
}
catch (Exception ex) {
ex.printStackTrace();
}
System.out.println("MailIdleWaiter thread ending.");
}
< /code>
Метод getFolder () в основном открывает соединение с сервером IMAP и открывает почтовый ящик. Нужна ли мне вторая нить, единственная роль которого - спать и возобновить поток на холостом ходу () каждые 10 минут или есть легкий/лучший способ?
Подробнее здесь: https://stackoverflow.com/questions/415 ... idle-alive