Paralelo :: ThreadContext.

Framework para facilitar a criação de programas de perl multithreaded
Baixe Agora

Paralelo :: ThreadContext. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Perl Artistic License
  • Nome do editor:
  • Serge Tsafak
  • Site do editor:
  • http://search.cpan.org/~tsafserge/

Paralelo :: ThreadContext. Tag


Paralelo :: ThreadContext. Descrição

Estrutura para a fácil criação de programas Perl multithreaded ThreadContext é um módulo Perl fornece um quadro e alguns utilitários para facilitar a criação de programas Perl multithread. Ele introduz e utiliza o conceito de base de contexto especifica contexto threads.A simultâneo uma espécie de nome e espaço de trabalho para a execução de thread e consiste de uma fila de threads + trabalhando nessa fila fechaduras + utilizados por segmentos de trabalho em que fila. O usuário pode definir livremente como muitos contextos como ele quer, dependendo da sua lógica de aplicação, por exemplo, 'Pré-busca', 'Decode', 'executar', ... Em cada contexto tópicos estão realizando trabalhos semelhantes simultâneos nos mesmos tópicos queue.All no mesmo contexto representam um grupo de discussão. Claro que um grupo pode consistir de apenas um segmento. Recursos bloqueados em um contexto não afetam outros Parallel uso contexts.SYNOPSIS :: ThreadContext; my $ counter = 0; my $ counter_ref = \ $ balcão; sub op1 {my $ job = shift @_; Paralela :: ThreadContext :: abortCurrentThread ( "Eu estou cansado de viver") if ($ job == 30); Paralela :: ThreadContext :: println ( "realizando trabalho $ job in Context" .Parallel :: ThreadContext :: getContextName ()); Paralelo :: :: ThreadContext pauseCurrentThread (1); Paralela :: ThreadContext :: reserveLock ( "counterlock", "computação"); $ Counter ++; Paralela :: ThreadContext :: releaseLock ( "counterlock", "computação"); } $ Parallel :: ThreadContext :: debug = 1; imprimir STDOUT Parallel :: ThreadContext :: versão (); meus $ nbthreads = paralelas :: ThreadContext :: getNoProcessors (); if ($ definido nbthreads) {$ nbthreads * = 3; # 3 threads por processador} else {$ nbthreads = 3; } Paralela :: ThreadContext :: shareVariable ($ counter_ref); Paralela :: ThreadContext :: start (\ op1, , $ nbthreads, "computação"); Paralela :: ThreadContext :: addJobsToQueue (, "computação"); Paralelo :: :: ThreadContext pauseCurrentThread (2); Paralela :: ThreadContext :: addJobsToQueue (, "computação"); Paralelo :: :: ThreadContext pauseCurrentThread (4); Paralela :: ThreadContext :: end ( "computação"); #would dar um aviso se fila no contexto ainda está em aberto (não finalizado ainda) Paralelo :: ThreadContext :: addJobsToQueue (, "computação"); #WARNING desde contexto acima referido já não existem faz paralelo :: :: ThreadContext addJobsToQueue (, "computação"); Paralela :: ThreadContext :: start (\ op1, [], 1, "computation2"); Paralela :: ThreadContext :: finalizeQueue ( "computation2"); Paralela :: ThreadContext :: yieldRuntime ( "computation2"); Paralela :: ThreadContext :: end ( "computation2"); Paralela :: ThreadContext :: println ( "valor final do contador é de R $ counter"); Requisitos: · Perl.


Paralelo :: ThreadContext. Software Relacionado

Htmltmpl.

mescla dados de tempo de execução com o arquivo de modelo HTML estático ...

151

Download