Tekst :: Editor :: Easy :: Comm

Tekst :: Editor :: Easy :: Comm is een thread communicatie Mecanisme van "Tekst :: Editor :: Easy" -module.
Download nu

Tekst :: Editor :: Easy :: Comm Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • GPL
  • Prijs:
  • FREE
  • Naam uitgever:
  • Sebastien Grommier
  • Uitgever website:
  • http://search.cpan.org/~grommier/Text-Editor-Easy-0.1/lib/Text/Editor/Easy/Comm.pm

Tekst :: Editor :: Easy :: Comm Tags


Tekst :: Editor :: Easy :: Comm Beschrijving

Tekst :: Editor :: Easy :: Comm is een Draad Communicatie Mecanisme van "Tekst :: Editor :: Easy" -module. Tekst :: Editor :: EASY :: Comm is een thread communicatie Mecanisme van "Tekst :: Editor :: Easy" Module.SynopsItHere zijn 2 (of 3 als we de "tekst :: editor :: easy :: file_manager" -module bevatten ) Complexe modules in de "Tekst :: Editor :: Easy" -boom. Deze module en de "Tekst :: Editor :: eenvoudig :: abstract" die graphics op een ingekapselde manier behandelt. Deze module probeert draadmanipulatie duidelijk te maken met "Tekst :: Editor :: eenvoudige" objecten. Misschien kan deze module worden opgepakt om te worden gebruikt met andere objecten om draadcreatie en gebruik te vergemakkelijken. Dit is niet mijn doel: mijn doel is om een generator van applicaties te schrijven die dynamisch kunnen worden gewijzigd (de editor is het eerste deel daarvan). Er zijn 2 hoofdklassen van threads: server en client. Een clientdiscussie is bijvoorbeeld, uw programma dat achtereenvolgens werkt en, van tijd tot tijd, vraag een serverdraad voor een service. Een serverdraad is een wachtdraad die een bepaalde service beheert. Van tijd tot tijd wordt het geroepen door een klant (die een reële clientdraad of een andere serverdraad kan zijn: de draad van de oproepserver kan hier worden gezien als een client voor onze reactieserver), reageert op de client en wacht dan opnieuw. Natuurlijk, als de server verzadigd is met oproepen, zal het niet wachten en zal alle oproepen uitvoeren in de bestelling die ze zijn gemaakt. Dus de klanten (echte of andere servers) moeten misschien wachten op de reactie van de server ... maar niet altijd. Hier komt asynchrone oproepen: in een asynchroon gesprek, vraagt de klant om iets naar de server (krijgt, als het wil, een identificatie van de oproep, de "call_id"), en kan doorgaan zonder te wachten op het antwoord. Maar asynchrone oproepen zijn niet altijd mogelijk. Vaak moet je dingen in een bepaalde volgorde maken en er zeker van zijn dat ze zijn gemaakt voordat ze aan de hand zijn. Dus de meeste oproepen naar serverdraden (per client) zijn synchroon en blokkeren. Nu hebben we de 2 classes van threads hebben gezien, laten we meer over serverdraden praten. Er zijn voornamelijk 3 soorten serverdraden: eigendom van een exemplaar (Laten we het eigendom van de thread noemen), gedeeld door alle gevallen met afzonderlijke gegevens voor alle instanties (laten we het multiplexed thread noemen), gedeeld met alle instanties zonder afzonderlijke gegevens ( Laten we de klasse-draad noemen). Al deze soorten threads zijn niet uitgevonden voor theoretische schoonheid, maar alleen omdat ik ze nodig had. De thread van de eigendom is de draad "FILE_MANAGER": elke "Tekst :: Editor :: Easy" -instantie heeft een privé. De gemultiplexte draad is de grafische draad (nummer 0): TK is niet multi-threaded, dus ik moest privégegevens in slechts één draad plaatsen. Alle andere threads die ik gebruik zijn klasse draden: het threadmodel, nummer 1, dat alleen wordt gebruikt om nieuwe discussies te maken, het threadnummer van de "gegevens", dat gemeenschappelijke gegevens als "Call_ID" en asynchrone reacties deelt ... de Discussiesysteem stelt mij in staat om alle eerder gedefultiveerde threads (eigendom, gemultiplexte en klasse) te creëren, maar het laat me meer. Ten eerste is er geen echte limiet tussen de 3 soorten threads (ik kan een draad hebben met een gemultiplexte en klasse-persoonlijkheid ... of een andere combinatie). Ten tweede kan ik dynamische methoden definiëren en toegang hebben tot de code van alle methoden om dynamische wijzigingen in te schakelen. De demo8 van versie 0.01 gaf me ideeën over wat ik moest verhogen mijn productiviteit bij het ontwikkelen van mijn redacteur. De methode "Create_new_Server" kan met een instantie worden genoemd, of met een klasse: mijn $ TID = $ Editor-> Create_new_Server ({ ...}); Of mijn $ TID = Tekst :: Editor :: Easy-> Create_new_Server ({...}) Gebruik voor een eigendom of een gemultiplextype de exemplaaroproep. Gebruik voor het klassentype de klasse-oproep. "CREATE_NEW_SERVER" gebruikt een hash-referentie voor parameters en retourneert de "TID" ("Thread Identification" in het interpreteerde schroefdraadperl Mecanisme), wat een geheel getal is. Deze interface kan worden gewijzigd: gewoon gegeven om de werkelijke mogelijkheden te zien. Natuurlijk gebruik ik deze interface om al mijn threads te maken, en hoe meer ik terughoudend zal zijn om de interface te veranderen. Vereisten: · Perl


Tekst :: Editor :: Easy :: Comm Gerelateerde software