Dies ist wahrscheinlich ein einfaches Problem mit dem scala gebildeten Geist, aber ich bin immer noch ein Anfänger;)Mehrere Schauspieler Aufruf von Anrufblockierung
Ich habe einen Basis Schauspieler, der eine neue Aufgabe auf mehrere Arbeiter Akteure entsendet und antwortet es Ergebnis zu einem blockierenden externen Anruf über!?
a = new a
a.start
println(a !? "12345")
class a extends Actor {
def act = {
loop {
react {
case msg =>
val result = worker_actor_1 !? msg
result += worker_actor_2 !? msg
result += worker_actor_3 !? msg
// So I just have multiple workers who should do stuff in parallel and the aggregated result should be returned to the calling function
reply(result)
}
Nun weiß ich nicht, wie man wirklich die Arbeiter Akteure in dem blockierenden Aufruf parallelisieren, weil ich am Ende antworten habe(). Die rufende Entität ist kein Schauspieler, nur eine reguläre Klasse.
Danke, ich werde es versuchen . – Sebastian
Und wenn sie die Aufgabe nicht rechtzeitig erfüllen, wie stoppt man sie? http://stackoverflow.com/questions/1245937/practical-use-of-futures-ie-how-to-kill-them – DrGary