ágú 122020
 

Normalerweise wird eine Befehlsnachricht über einen Punkt-zu-Punkt-Kanal (151) gesendet, da der Befehl einmal von einem bestimmten empfangenden Akteur ausgeführt werden soll. Um eine Broadcast-Nachricht zu senden, sollten Sie wahrscheinlich eine Ereignisnachricht (207) zusammen mit dem Veröffentlichungs-Abonnementkanal (154) verwenden. Schließlich kann ein handelnder Vertrag angeben, was eine Vertragsverletzung darstellt und welche Abhilfemaßnahmen im Falle eines Verstoßes zu treffen sind. Wenn es Abhilfeklauseln in einem Akteurvertrag gibt, legt er in der Regel fest, welche Pflichten, in der Regel die Zahlung von Schadensersatz, von einem Vertragspartner an einen anderen geschuldet werden, wenn erstere die Leistungsbedingungen des Vertrages verletzen Wenn diese Smart Contracts auf der gleichen Scherbe zurückfallen, ist es sehr einfach, den Zustand auf der aktuellen Scherbe zurückzurollen. Die Nachrichtenübermittlung bietet eine gute Möglichkeit, Ereignisse teilweise zu bestellen, um die Transaktionsparallelität freizuschalten. Ich werde das Schulhofspiel Rock-Paper-Scissors als Referenzanwendung verwenden und es in jeder Bibliothek implementieren, um die Funktionen und Unterschiede zu demonstrieren. (Sie können den Quellcode jederzeit herunterladen.) Jede Implementierung verwendet zwei Player-Akteure und einen Coordinator-Akteur. Der Koordinator fordert jeden Spieler zum Spielen auf, und jeder Spieler antwortet mit Rock, Paper oder Scissors. Der Koordinator akzeptiert die Antworten, gibt den Gewinner bekannt und beginnt von vorn. Der Nachrichtenfluss ist in Abbildung 1 dargestellt. Manchmal wird ein Vertrag spezifische Geldstrafen festlegen, die gegen einen Akteur für bestimmte Vergehen verhängt werden, wie nicht oder zu spät zu einer Praxis, Leistung oder anderen erforderlichen Ereignis. Ein Akteur kann immer versuchen, diese Strafen in Vertragsverhandlungen zu begrenzen. Beispielsweise können Akteure die Verarbeitung von Nachrichten anpipelines.

Das bedeutet, dass ein Akteur im Zuge der Verarbeitung einer Nachricht M1 das Verhalten festlegen kann, das zum Verarbeiten der nächsten Nachricht verwendet werden soll, und dann tatsächlich mit der Verarbeitung einer anderen Nachricht M2 beginnen kann, bevor die Verarbeitung von M1 abgeschlossen ist. Nur weil ein Akteur die Verarbeitung von Nachrichten anpipelinesdarf, bedeutet dies nicht, dass er die Verarbeitung anpipelinesmuss. Ob eine Nachricht gepipelinet wird, ist ein technischer Kompromiss. Wie würde ein externer Beobachter wissen, ob die Verarbeitung einer Nachricht durch einen Akteur in die Pipeline gegangen ist? Es gibt keine Unklarheit in der Definition eines Akteurs, die durch die Möglichkeit des Pipelinings geschaffen wird. Natürlich ist es möglich, die Pipelineoptimierung in einigen Implementierungen falsch durchzuführen, in diesem Fall kann es zu unerwartetem Verhalten kommen. Das Schauspielermodell nimmt die Philosophie an, dass alles ein Schauspieler ist. Dies ist ähnlich wie alles ist eine Objektphilosophie, die von einigen objektorientierten Programmiersprachen verwendet wird. Sie können Ihr Schauspieler-Release-Formular auch im Voraus per E-Mail an Ihre Schauspieler senden und sie mit einer gedruckten, signierten Kopie zum Setbringen bringen lassen. Wenn Sie digital sind, erweitern Sie das Toolkit Ihres Herstellers um einen E-Signatur-Service. Nun geht es weiter zu den Java-Bibliotheken. Sie alle haben ein grundlegendes Hindernis zu überwinden. Scala und Groovy können leichte Akteure erstellen, indem sie sich auf die Planung über einen Threadpool von Akteuren verlassen, der durch Teilfunktionen oder Verschlüsse definiert ist.