• Publicidad

Threads

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Threads

Notapor primitivo » 2013-11-23 13:11 @591

Hola :)

Estoy necesitando ejecutar 'Threads' hilos para ejecutar procesos por separado, y hacer más fluido mi script, sé que en Java, por ejemplo, se pueden ejecutar rutinas en "background" como Servicios en Android, he leído que en Perl, también existe este método, pero no me aclaro aún.

Lo que me gustaría, sería un breve ejemplo de cómo se utiliza este módulo.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. use threads;
  2.  
  3. my $primitivo = Thread->new(...);
  4.  
Coloreado en 0.005 segundos, usando GeSHi 1.0.8.4
primitivo
Perlero nuevo
Perlero nuevo
 
Mensajes: 80
Registrado: 2013-03-22 23:05 @004

Publicidad

Re: Threads

Notapor Aceitunas » 2013-11-23 13:43 @613

http://search.cpan.org/~jdhedden/thread ... threads.pm

Ahí tienes la documentación del módulo, y aquí te dejo un ejemplo de cómo se usa:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl
  2.  
  3. use threads;
  4.  
  5. my $texto = "Hola";
  6.  
  7. my $idhilo = threads->new(\&hilo,$texto);
  8.  
  9. $idhilo->join();
  10.  
  11. exit(0);
  12.  
  13. sub hilo
  14. {
  15.     print $_[0] . "\n";
  16. }
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Voy a llegar hasta el final, voy a subir la velocidad - Migue Benítez.
Aceitunas
Perlero nuevo
Perlero nuevo
 
Mensajes: 117
Registrado: 2013-11-07 15:25 @684
Ubicación: Ciudad Real, España.

Re: Threads

Notapor explorer » 2013-11-23 13:58 @623

¿Hacer más fluido tu script? ¿A qué te refieres?
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Threads

Notapor primitivo » 2013-11-23 20:58 @915

explorer escribiste:¿Hacer más fluido tu script? ¿A qué te refieres?

Gracias por tú respuesta, explorer.

Lo que deseo es manejar un hilo para realizar consultas en una base de datos que realice en formato:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. ID:IP:MODOS:FECHA:PAIS
  2.  
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

de manera que éstas se ejecuten cada cierto tiempo, y no parar todo el programa con
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. sleep(50); # Por dar un ejemplo, cada 50 segundos consultar datos de un registro.
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Lo que realmente me interesa, es consultar cada X tiempo un nuevo registro.
primitivo
Perlero nuevo
Perlero nuevo
 
Mensajes: 80
Registrado: 2013-03-22 23:05 @004

Re: Threads

Notapor explorer » 2013-11-23 21:29 @937

Bueno, en ese caso se puede hacer de muchas maneras: Coro, Any::Event, lanzando un proceso hijo con un fork()... Incluso añadido al sistema operativo con un crontab o una Tarea Programada.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Threads

Notapor primitivo » 2013-11-24 13:04 @586

¿Puedes darme un ejemplo, explorer, para los casos que me dices?
primitivo
Perlero nuevo
Perlero nuevo
 
Mensajes: 80
Registrado: 2013-03-22 23:05 @004


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 24 invitados