¿Cómo funciona el sistema de roscado de Perl?
La documentación de perl dice:Desde Perl 5.8, la programación de subprocesos ha estado disponible utilizando un modelo llamado subprocesos de intérprete que proporciona un nuevo intérprete de Perl para cada subproceso
Utilizandops -Lm <pid>
con el siguiente programa puedo ver que los hilos se ejecutan en paralelo, es decir, se están ejecutando al mismo tiempo en diferentes núcleos. Pero incluso cuando hay 4 hilos (3 y el principal)ps aux
muestra solo un proceso Perl.
use threads;
$thr = threads->new(\&sub1);
$thr2 = threads->new(\&sub1);
$thr3 = threads->new(\&sub1);
sub sub1 {
$i = 0;
while(true){
$i = int(rand(10)) + $i;
}
}
$thr->join;