Können Scala-Akteure mehrere Nachrichten gleichzeitig verarbeiten?
Die Antwort auf eine aktuelle frage von mir hingewiesen, dass ein akteur seine nachrichten verarbeiteteins nach dem anderen. Ist das wahr? Ich sehe nichts, was dies ausdrücklich sagtProgrammieren in Scala), der das folgende Snippet enthält (S. 593)
Wenn [derreact
method] findet eine Nachricht, die bearbeitet werden kann, [it] plant die Bearbeitung dieser Nachrichtzur späteren Ausführung und eine Ausnahme auslösen
(Betonung meiner eigenen). Zwei verwandte (und sich gegenseitig ausschließende) Fragen:
Angenommen, ein Akteur könnte mehrere Nachrichten gleichzeitig verarbeiten. Wie kann ich einen Akteur zwingen, Nachrichten 1 gleichzeitig zu verarbeiten (wenn ich dies möchte)? (mitreceive
?)Angenommen, ein Akteur verarbeitet Nachrichten nacheinander, wie würde ich dann einen Akteur implementieren, der tatsächlichkönnte Nachrichten gleichzeitig verarbeitenedit: ein bisschen testen scheint zu beweisen, dass ich falsch liege und die schauspieler in der tat sequenziell sind. Also ist es Frage 2, die ich beantworten muss