Kann ich die maximale Größe für das Postfach eines Akteurs in Scala festlegen?Mailbox-Größenbeschränkung für Scala
Nehmen Sie das Producer-Consumer-Problem. Mit Threads kann ich die Produzenten blockieren, wenn der Puffer voll ist. Ich habe ein paar Producer-Consumer-Beispiele gesehen, die in Scala geschrieben wurden und alle benutzen Aktoren mit Postfächern, die als "Puffer" benutzt werden. Kann ich die Postfachgröße so einstellen, dass die Produzenten warten, bis ein Verbraucher bereit ist? Irgendeine andere elegante Lösung, um unkontrollierbares Wachstum der Postfächer zu vermeiden?
Polling scheint mir passender, als den Briefkasten des Verbrauchers zu einem "geteilten Staat" zwischen zwei Schauspielern zu machen. – Zed
Polling ist oft aus einer reinen Programmierperspektive besser, aber Semaphore sind oft besser aus Sicht der Hardware-Nutzung. Hängt von Ihrer genauen Situation ab, welche ausgewählt werden sollte. –
@Zed Das Postfach des Kunden ist ein gemeinsamer Status! Sonst könnte der Produzent keine Nachrichten senden :) – HRJ