Fila :: Mmap.

Extensão Perl para fila compartilhada sobre o arquivo MMAP-ED
Baixe Agora

Fila :: Mmap. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Perl Artistic License
  • Nome do editor:
  • Ildar Efremov
  • Site do editor:
  • http://search.cpan.org/~iefremov/

Fila :: Mmap. Tag


Fila :: Mmap. Descrição

Extensão Perl para fila compartilhada sobre arquivo MMAP-ED Fila :: MMAP é uma fila de círculo compartilhado sobre o arquivo MMAP-ED.USefull para a fila de tarefas do processo Multy. Um processo (ES) Push Task Message e outros (ES) POP e execute essas tarefas. Acesso com bloqueio (FCNTL) garantiu a ordem correta sem conflito. Se dados pressionados tiver o tamanho maior que registre dados Len colocados em alguns registros. Se os dados empurrados tiverem tamanho maior que a capacidade (gravação * fila) push tem Return UNDEF.New% params Criar novo objeto de fila Minha $ Q = nova fila :: MMAP (arquivo => "file.dat", file.dat => 10, # Comprimento de Comprimento da Fila => 20, # Comprimento Um registro (se os dados mais recordam, dados colocados em alguns registros) mod => 0666, # Fazer o modo para arquivo); push $ string push $ string em fila com bloco retornar false em falha Return ($ time_spend, $ time_wait_lock) em conjunto de contexto de array $ time_spend em ContextPop Scalar POPED Valor superior da fila com bloco Return C no vazio Queuetop Copiar Top Valor da fila sem bloco Retornar C No Queedrop Valor Da fila com blocklength Retorno Número de registros em Queuestat Devolver Array Top - Índice Top Records Bottom - Índice Últimos Records Que_Len - Capacidade de fila Rec_len - lenth um registrados Comprimento do registro Alinhe para 4 bytes. Comprimento do arquivo Alinhe para 4K.Synopsis Use a fila :: MMap; My $ Q = nova fila :: MMAP (arquivo => "file.dat", file => 10, # Comprimento de Comprimento da fila => 20, # Comprimento um registro (se dados mais recordos, dados colocados em alguns registros) mod => 0666, # Faça o modo para arquivo); a menos que ($ q-> push ("abcdefghijklmnopqrstuvwxyz")) {morrer "falha"; } Meu $ W = $ Q-> PUSH ("ABCDEFGHIJK"); printf "% .6f \ n", $ w; meu ($ t, $ l) = $ q-> empurrar ("abcdefghijk"); printf "total =% .6f, espera bloqueio% .6f \ n", $ t, $ l; Imprimir "Comprimento da Fila é", $ Q-> Comprimento, "\ n"; meu $ top = $ q-> top; while (definido (meu $ v = $ Q-> pop)) {imprimir $ v, "\ n"; } Imprimir "Sem dados \ n"; Requisitos: · Perl.


Fila :: Mmap. Software Relacionado