Text :: Editor :: EASY :: COMM

Text :: Editor :: EASY :: COMM ist ein Thread-Kommunikationsmechanismus von "Text :: Editor :: Easy" -Modul.
Jetzt downloaden

Text :: Editor :: EASY :: COMM Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • GPL
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Sebastien Grommier
  • Website des Verlags:
  • http://search.cpan.org/~grommier/Text-Editor-Easy-0.1/lib/Text/Editor/Easy/Comm.pm

Text :: Editor :: EASY :: COMM Stichworte


Text :: Editor :: EASY :: COMM Beschreibung

Text :: Editor :: EASY :: COMM ist ein Thread-Kommunikationsmechanismus von "Text :: Editor :: Easy" -Modul. Text :: Editor :: EASY :: COMM ist ein Thread-Kommunikationsmechanismus von "Text :: Editor :: Easy" -Modul.Synopsisther sind 2 (oder 3, wenn wir den Modul "Text :: Editor :: Easy :: file_manager" einschließen ) Komplexe Module im "Text :: Editor :: Easy" -Baum. Dieses Modul und der "Text :: Editor :: Easy :: Abstract", der Grafiken aufgeschlossen behandelt Möglicherweise könnte dieses Modul angepasst werden, um mit anderen Objekten verwendet zu werden, um die Thread-Erstellung und Verwendung zu erleichtern. Dies ist nicht mein Ziel: Mein Ziel ist es, einen Generator von Anwendungen zu schreiben, die dynamisch geändert werden können (der Editor ist der erste Teil davon). Es gibt 2 Hauptklassen von Threads: Server und Client. Ein Client-Thread ist zum Beispiel Ihr Programm, das sequentiell ausgeführt wird und von Zeit zu Zeit einen Server-Thread für einen Dienst fragen. Ein Serverfaden ist ein Wartefaden, der einen bestimmten Dienst verwaltet. Von Zeit zu Zeit heißt es von einem Client (der ein echter Client-Thread oder ein anderer Server-Thread sein kann: Der anrufende Server-Thread ist hier als Client für unseren antwortenden Server zu sehen), antwortet auf den Client und wartet dann erneut. Wenn der Server mit Anrufen gesättigt ist, wartet es natürlich nicht und wird alle Anrufe in der angegebenen Reihenfolge ausführen. Die Clients (echte oder andere Server) müssen also möglicherweise auf die Antwort des Servers warten ... aber nicht immer. Hier kommen asynchrone Anrufe: In einem asynchronen Anruf fragt der Client nach etwas an dem Server (bekommt, wenn er will, eine Identifizierung des Anrufs, das "call_id") und kann ohne Warten auf die Antwort eingehen. Aber asynchrone Anrufe sind nicht immer möglich. Oft müssen Sie die Dinge in einer bestimmten Reihenfolge machen und sicher sein, dass sie vor dem Start gemacht wurden. Die meisten Anrufe zu Server-Threads (vom Client) werden also synchronen und blockieren.Now, dass wir die 2 Threadsklassen gesehen haben, lass uns mehr über Serverfäden reden. Es gibt hauptsächlich 3 Arten von Server-Threads: Im Besitz eines Instanz (nennen wir den Thread-Thread anrufen), die von allen Instanzen mit separaten Daten für alle Instanzen geteilt werden (lasst uns den Multiplex-Thread anrufen), mit allen Fällen ohne separate Daten freigegeben ( Nennen wir den Thread-Thread). Alle diese Threads wurden nicht für theorizische Schönheit erfunden, sondern nur weil ich sie brauchte. Der Eigentümerfaden ist der Thread "File_Manager": Jeder "Text :: Editor :: Easy" -Tinstanz hat einen privaten. Der Multiplex-Thread ist der Grafikfaden (Nummer 0): tk ist nicht mehrfach, also musste ich private Daten in nur einem Thread einfügen. Alle anderen Threads, die ich verwenden Das Thread-System ermöglicht es mir, alle zuvor definierten Threads (Besitz, Multiplex, und Klasse) zu erstellen, aber es erlaubt mir mehr. Erstens gibt es keine echte Grenze zwischen den drei Threadsarten (ich kann einen Thread mit einer Multiplex- und Klassenpersonalität haben ... oder eine andere Kombination). Zweitens, ich kann dynamische Methoden definieren und den Zugriff auf den Code aller Methoden haben, um dynamische Modifikationen zu aktivieren. Die Demo8 von Version 0.01 gab mir Ideen darüber, was ich brauchte, um meine Produktivität in der Entwicklung meines Herausgebers zu steigern. Die Methode "Create_new_Server" kann entweder mit einer Instanz oder mit einer Klasse aufgerufen werden: My $ Tid = $ Editor-> Create_new_server ({ ...}); oder mein $ tid = text :: Editor :: easy-> create_new_server ({...}); Verwenden Sie für einen eigenen oder multiplexierten Typ den Anruf. Verwenden Sie für den Klassentyp den Klassenanruf. "Create_new_server" verwendet eine Hash-Referenz für Parameter und gibt die "TID" ("Thread Identification" im interpretierten Thread-Perl-Mecanismus) zurück, was eine Ganzzahl ist. Diese Schnittstelle kann geändert werden: Nur angegeben, um aktuelle Funktionen anzuzeigen. Je mehr i, desto mehr verwende ich diese Schnittstelle, um alle meine Threads zu erstellen, und desto mehr ist ich, die Schnittstelle zu ändern. Anforderungen: · Perl.


Text :: Editor :: EASY :: COMM Zugehörige Software