Verwenden von Futures in Akka-Darstellern

Ich fange gerade an, Akka-Schauspieler in Scala zu lernen. Ich verstehe, dass von einem Schauspieler empfangene Nachrichten in der Mailbox eines Schauspielers in eine Warteschlange gestellt und einzeln verarbeitet werden. Indem Nachrichten einzeln verarbeitet werden, werden Probleme mit der Parallelität (Race-Bedingungen, Deadlocks) verringert.

Aber was passiert, wenn der Schauspieler eine Zukunft schafft, um die mit einer Nachricht verbundene Arbeit zu erledigen? Da die Zukunft asynchron ist, kann der Akteur damit beginnen, die nächsten Nachrichten zu verarbeiten, während die der vorherigen Nachricht zugeordnete Zukunft noch ausgeführt wird. Würde dies möglicherweise zu Rennbedingungen führen? Wie kann man Futures innerhalb der Methode receive () eines Schauspielers sicher verwenden, um lang laufende Aufgaben zu erledigen?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage