Testo :: Editor :: Facile :: Comm

Testo :: Editor :: Easy :: Comm è un modulo di comunicazione del filo del modulo "Testo :: Editor :: Easy".
Scarica ora

Testo :: Editor :: Facile :: Comm Classifica e riepilogo

Annuncio pubblicitario

  • Rating:
  • Licenza:
  • GPL
  • Prezzo:
  • FREE
  • Nome editore:
  • Sebastien Grommier
  • Sito web dell'editore:
  • http://search.cpan.org/~grommier/Text-Editor-Easy-0.1/lib/Text/Editor/Easy/Comm.pm

Testo :: Editor :: Facile :: Comm Tag


Testo :: Editor :: Facile :: Comm Descrizione

Testo :: Editor :: Facile :: Comm è un meccanismo di comunicazione del filo del modulo "Text :: Editor :: Easy". Testo :: Editor :: Easy :: Comm è un meccanismo di comunicazione del filo del modulo "Text :: Editor :: Easy" Module.SynopsisCi sono 2 (o 3 se includiamo il modulo "Testo :: Editor :: Easy :: File_Manager" Modulo ) Moduli complessi nel "Testo :: Editor :: Easy Tree". Questo modulo e il "Testo :: Editor :: Facile :: Abstract" che gestisce la grafica in modo incapsulato. Questo modulo cerca di creare la manipolazione del filo evidente con gli oggetti "Text :: Editor :: Easy". Forse questo modulo potrebbe essere aggiunto ad essere utilizzato con altri oggetti per facilitare la creazione e l'uso del filo. Questo non è il mio obiettivo: il mio obiettivo è scrivere un generatore di applicazioni che possono essere modificate dinamicamente (l'editor è la prima parte di questo). Ci sono 2 classi principali di threads: server e client. Un thread client è, ad esempio, il programma che esegue sequenzialmente e, di volta in volta, chiedi a un thread del server per un servizio. Un filo del server è un filo d'attesa che gestisce un particolare servizio. Di tanto in tanto, è chiamato da un client (che può essere un thread client reale o un altro filettatura server: il thread del server di chiamata può essere visto qui come client per il nostro server di risposta), risponde al client e quindi attende di nuovo. Naturalmente, se il server è saturo di chiamate, non aspetterà e eseguirà tutte le chiamate nell'ordine in cui sono stati effettuati. Quindi, i clienti (veri o altri server) potrebbero dover attendere la risposta del server ... ma non sempre. Qui arrivano chiamate asincroni: in una chiamata asincrona, il cliente richiede qualcosa al server (ottiene, se vuole, un'identificazione della chiamata, "call_id") e può continuare senza aspettare la risposta. Ma le chiamate asincrone non sono sempre possibili. Spesso, devi fare cose in un certo ordine e assicurarti che siano state fatte prima di andare avanti. Quindi la maggior parte delle chiamate ai thread del server (per client) sarà sincrono e bloccando. Ora che abbiamo visto le 2 classi di thread parliamo di più sui fili del server. Esistono principalmente 3 tipi di filettature del server: di proprietà di un'istanza (chiamiamo la filettatura di proprietà), condivisa da tutte le istanze con dati separati per tutte le istanze (chiamiamolo thread multiplexed), condiviso con tutte le istanze senza dati separati ( Chiamiamo il filo della classe). Tutti questi tipi di fili non sono stati inventati per la bellezza teorica, ma solo perché ne avevo bisogno. Il thread di proprietà è il thread "File_Manager": ogni "Testo :: Editor :: Easy" L'istanza ha un privato. Il thread multiplexed è il filettatura grafica (numero 0): TK non è multi-filettato, quindi ho dovuto mettere i dati privati in un solo thread. Tutti gli altri thread che utilizzo sono fili di classe: il modello di filettatura, il numero 1, che viene utilizzato solo per creare nuovi thread, il numero di filettatura "Dati", che condivide dati comuni come "call_id" e risposte asincroni ... il Il sistema di thread mi consente di creare tutti i tipi di thread definiti in precedenza (di proprietà, multiplexed e classe) ma mi permette di più. Innanzitutto, non c'è un limite reale tra i 3 tipi di fili (posso avere un filo con una persona multiplexata e di classe ... o qualsiasi altra combinazione). In secondo luogo, sono in grado di definire metodi dinamici e avere accesso al codice di tutti i metodi per abilitare le modifiche dinamiche. La demo8 della versione 0.01 mi ha dato idee su ciò di cui avevo bisogno per aumentare la mia produttività nello sviluppo del mio editor. Il metodo "creato_new_server" può essere chiamato con un'istanza o con una classe: My $ TID = $ Editor-> creato_new_server ({ ...});); o My $ TID = testo :: EDITOR :: EASY-> CREARE_NEW_SERVER ({...}); per un tipo di proprietà o multiplexed, utilizzare la chiamata di istanza. Per il tipo di classe utilizzare la chiamata di classe. "CREARE_NEW_SERVER" utilizza un riferimento a hash per i parametri e restituisce il "TID" ("Identificazione del thread" nel meccanismo del perl del filo interpretato), che è un numero intero. Questa interfaccia può essere modificata: appena data per vedere le funzionalità effettive. Naturalmente, più utilizzo questa interfaccia per creare tutti i miei thread, e più sarò riluttante a cambiare l'interfaccia. Requisiti: · Perl.


Testo :: Editor :: Facile :: Comm Software correlato