Texto :: Editor :: Fácil :: Comm

Texto :: Editor :: Easy :: Comm é um mecanismo de comunicação de thread do módulo "Texto :: Editor :: Fácil".
Baixe Agora

Texto :: Editor :: Fácil :: Comm Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • GPL
  • Preço:
  • FREE
  • Nome do editor:
  • Sebastien Grommier
  • Site do editor:
  • http://search.cpan.org/~grommier/Text-Editor-Easy-0.1/lib/Text/Editor/Easy/Comm.pm

Texto :: Editor :: Fácil :: Comm Tag


Texto :: Editor :: Fácil :: Comm Descrição

Texto :: Editor :: Easy :: Comm é um mecanismo de comunicação de thread do módulo "Texto :: Editor :: Fácil". Text :: Editor :: Easy :: Comm é um mecanismo de comunicação de thread de "text :: editor :: fácil" módulo.synopsisThere são 2 (ou 3, se incluirmos o módulo "Texto :: Editor :: Fácil :: Fácil :: File_Manager" ) Módulos complexos no "Texto :: Editor :: Fácil" Árvore. Este módulo e o "Texto :: Editor :: Fácil :: Resumo" que lida com gráficos de maneira encapsulada. Este módulo tenta fazer manipulação de linha óbvia com objetos "Text :: Editor :: Fácil". Talvez este módulo pudesse ser adulado a ser usado com outros objetos para facilitar a criação de tópicos e o uso. Este não é o meu objetivo: meu objetivo é escrever um gerador de aplicativos que podem ser modificados dinamicamente (o editor é a primeira parte disso). Há 2 classes principais de threads: servidor e cliente. Um thread cliente é, por exemplo, seu programa que é executado sequencialmente e, de vez em quando, pergunte a um thread do servidor para um serviço. Um thread do servidor é um thread de espera que gerencia um determinado serviço. De tempos em tempos, é chamado por um cliente (que pode ser um thread de cliente real ou outro thread de servidor: o thread do servidor de chamada pode ser visto aqui como um cliente para o nosso servidor de resposta), responde ao cliente e, em seguida, aguarda novamente. Claro, se o servidor estiver saturado com chamadas, ele não vai esperar e executará todas as chamadas na ordem em que foram feitas. Assim, os clientes (reais ou outros servidores) podem ter que esperar pela resposta do servidor ... mas nem sempre. Aqui vêm chamadas assíncronas: em uma chamada assíncrona, o cliente pede algo para o servidor (recebe, se quiser, uma identificação da chamada, o "call_id") e pode continuar sem esperar pela resposta. Mas as chamadas assíncronas nem sempre são possíveis. Muitas vezes, você tem que fazer as coisas em uma certa ordem e ter certeza de que foram feitos antes de continuar. Então a maioria das chamadas para encadeamentos do servidor (pelo cliente) será síncrona e bloqueando. Agora que vimos as duas classes de threads, vamos falar mais sobre threads de servidor. Há principalmente 3 tipos de encadeamentos de servidor: de propriedade de uma instância (Vamos chamar de thread de propriedade), compartilhada por todas as instâncias com dados separados para todas as instâncias (Vamos chamar de linha multiplexada), compartilhada com todas as instâncias ( Vamos chamar de thread de classe). Todos esses tipos de tópicos não foram inventados para a beleza teórica, mas só porque eu precisava deles. O thread de propriedade é o thread "file_manager": cada instância "Texto :: Editor :: Fácil" tem um privado. O thread multiplexado é o fio gráfico (número 0): TK não é multi-threaded, então eu tive que colocar dados privados em apenas um thread. Todos os outros tópicos que eu uso são threades de classe: o modelo de thread, número 1, que é usado apenas para criar novos segmentos, o segmento "dados" número 2, que compartilha dados comuns, como "call_id" e respostas assíncronas ... o O sistema de thread permite-me criar todos os tipos de threads definidos anteriormente (de propriedade, multiplexada e classe), mas me permite mais. Primeiro, não há limite real entre os 3 tipos de encadeamentos (eu posso ter um fio com uma personalidade multiplexada e classe ... ou qualquer outra combinação). Em segundo lugar, posso definir métodos dinâmicos e ter acesso ao código de todos os métodos para permitir modificações dinâmicas. O Demo8 da versão 0.01 me deu idéias sobre o que eu precisava aumentar minha produtividade no desenvolvimento do meu editor. O método "Create_new_server" pode ser chamado com uma instância ou com uma classe: My $ TID = $ editor-> Create_new_server ({ ...}); ou My $ TID = Text :: Editor :: Easy-> Create_New_Server ({...}); para um tipo de propriedade ou multiplexada, use a chamada da instância. Para o tipo de classe, use a chamada de classe. "CREATE_NEW_SERVER" usa uma referência de hash para parâmetros e retorna o "TID" ("Identificação de thread" no mecanismo interpretado da linha de linha), que é um inteiro. Essa interface pode ser alterada: apenas dada para ver as capacidades reais. Claro, mais eu uso essa interface para criar todos os meus segmentos, e mais eu estarei relutante em alterar a interface. Requisitos: · Perl.


Texto :: Editor :: Fácil :: Comm Software Relacionado

Presto

Presto é um sistema de banco de dados orientado a objetos para Perl. ...

152

Download