Я только начинаю изучать Акку Актеры в Scala. Я понимаю, что сообщения, полученные Актером, помещаются в очередь в почтовом ящике Актора и обрабатываются по одному. Обработка сообщений по одному, concurrency проблемы (условия гонки, взаимоблокировки) смягчаются.
Но что произойдет, если Актер создаст будущее для выполнения работы, связанной с сообщением? Поскольку будущее является асинхронным, актер может начать обработку следующих нескольких сообщений, в то время как будущее, связанное с предыдущим сообщением, все еще работает. Разве это не создало бы условия гонки? Как можно безопасно использовать фьючерсы в методе приема() Actor для выполнения длительных задач?