Я реализовал в Java то, что я назвал «складной очередью», то есть LinkedBlockingQueue, используемой службой ExecutorService.Идея состоит в том, что каждая задача является уникальным идентификатором, который, если он находится в очереди, в то время как другая задача отправляется через этот же идентификатор, не добавляется в очередь.Код Java выглядит следующим образом:
public final class FoldablePricingQueue extends LinkedBlockingQueue<Runnable> {
@Override
public boolean offer(final Runnable runnable) {
if (contains(runnable)) {
return true; // rejected, but true not to throw an exception
} else {
return super.offer(runnable);
}
}
}
Потоки должны быть предварительно запущены, но это незначительная деталь.У меня есть абстрактный класс, который реализует Runnable, который принимает уникальный идентификатор ... это тот, который передан в
Я хотел бы реализовать ту же логику, используя Scala и Akka (Actors).Мне нужно было бы иметь доступ к почтовому ящику, и я думаю, что мне нужно переопределить!метод и проверьте почтовый ящик для события .. кто-нибудь делал это раньше?