Paralelo :: ThreadContext

para una fácil creación de programas MultiPhead Perl PERL
Descargar ahora

Paralelo :: ThreadContext Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • Perl Artistic License
  • Nombre del editor:
  • Serge Tsafak
  • Sitio web del editor:
  • http://search.cpan.org/~tsafserge/

Paralelo :: ThreadContext Etiquetas


Paralelo :: ThreadContext Descripción

Marco para una fácil creación de programas MultiPhead Perl. ThreadContext es un módulo Perl proporciona un marco y algunas utilidades para una fácil creación de programas MultiPhead Perl. Introduce y utiliza el concepto de hilos concurrentes basados ​​en contexto. Especifica un tipo de nombre y espacio de trabajo para la ejecución de hilo y consiste en una cola + hilos que trabajan en esa cola + bloqueos utilizados por los hilos que trabajan en esa cola. El usuario puede definir libremente tantos contextos como quiera, dependiendo de su lógica de aplicación, por ejemplo. 'Prefetch', 'Decodish', 'Ejecutar', ... En cada contexto, las hilos de contexto están realizando trabajos simultáticos similares en la misma cola. Todos los hilos en el mismo contexto representan un grupo de hilos. Por supuesto, un grupo puede consistir en un solo hilo. Los recursos bloqueados en un contexto no afectan otros contextuales.Synopsis Use Parallel :: ThreadContext; My $ Counter = 0; My $ Counter_ref = \ $ Contador; Sub OP1 {My $ Job = Shift @_; Parallel :: ThreadContext :: AbortCurrentThread ("Estoy cansado de vivir") si ($ Job == 30); Parallel :: ThreadContext :: PrintLn ("Realización de trabajos $ en contexto" .Parallel :: ThreadContext :: getContextName ()); Parallel :: ThreadContext :: PausecurrentThread (1); Parallel :: ThreadContext :: Reservelock ("encofrado", "Cálculo"); $ contador ++; Parallel :: ThreadContext :: Releaselock ("encofrado", "Cálculo"); } $ Paralelo :: ThreadContext :: Depuración = 1; Imprimir STdout Parallel :: ThreadContext :: versión (); My $ nbthreads = paralelo :: ThreadContext :: GetNoprocessors (); Si (definido $ NBTHTHREADS) {$ NBTHTHREADS * = 3; # 3 hilos por procesador} otra cosa {$ nbthreads = 3; } Parallel :: ThreadContext :: Shareevariable ($ Counter_ref); Parallel :: ThreadContext :: Iniciar (\ OP1, , $ NBTHTHREADS, "Cálculo"); Parallel :: ThreadContext :: AddJoCHSTOQUEUE (, "Cálculo"); Parallel :: ThreadContext :: PausecurrentThread (2); Parallel :: ThreadContext :: addjobstalueue (, "Cálculo"); Parallel :: ThreadContext :: PausecurrentThread (4); Parallel :: ThreadContext :: Fin ("Cálculo"); # debería dar una advertencia si la cola en el contexto aún está abierta (aún finalizada) paralela :: ThreadContext :: AddJobQueue (, "Cálculo"); #Warning desde que se mencionó el contexto ya no existe paralelo :: ThreadContext :: AddJobQueue (, "Cálculo"); Parallel :: ThreadContext :: Iniciar (\ OP1, [], 1, "COMPULTATION2"); Parallel :: ThreadContext :: FinalizeQueue ("Computación2"); Parallel :: ThreadContext :: YielDruntime ("Computación2"); Parallel :: ThreadContext :: Fin ("Computación2"); Parallel :: ThreadContext :: PrintLn ("El valor de contador final es $ contador"); Requisitos: · Perl


Paralelo :: ThreadContext Software relacionado

Htmltmpl

Fusiona los datos de tiempo de ejecución con el archivo de plantilla HTML estático ...

151

Descargar