Sto appena iniziando a imparare Akka Actors in Scala. La mia comprensione è che i messaggi ricevuti da un attore vengono accodati nella cassetta postale di un attore e elaborati uno alla volta. Elaborando i messaggi uno alla volta, i problemi di concorrenza (condizioni di competizione, deadlock) vengono mitigati.Utilizzo di Futures in Akka Actors
Ma cosa succede se l'attore crea un futuro per eseguire il lavoro associato a un messaggio? Poiché il futuro è asincrono, l'attore potrebbe iniziare a elaborare i successivi messaggi diversi mentre il futuro associato al messaggio precedente è ancora in esecuzione. Questo non creerebbe potenzialmente condizioni di gara? Come si può tranquillamente usare i futures nel metodo receive() di un attore per svolgere attività a lungo termine?
vuoi dire che l'azione associata al futuro opera sulle variabili interne all'attore? allora sì, è una condizione di gara. –