• Publicidad

Ayuda con hilos

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

Ayuda con hilos

Notapor batussay » 2007-10-12 12:21 @556

Saludos a todos

Revisando en Internet estoy tratando de aprender hilos en Perl, lo que estuve viendo es para compartir una variable lo cual al parecer es muy simple:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
use threads::shared;
use Thread::Semaphore;
use CGI qw(:all);

my $variable : shared = 10;
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


lo cual según he leído es usado para restringir el acceso a una variable con la función lock() pero quería saber si eso mismo se puede hacer con funciones, la verdad que todavía no tengo la idea muy clara asi que si me pudieran dar una ayuda o recomendarme alguna página que enseñe eso.

Por ejemplo quiero que esta función coger que pertenece a la clase Tenedor sea restringido una vez por hilo;

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
sub Tenedor::Coger
{
...
...

}
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


en Java sería así:

Sintáxis: [ Descargar ] [ Ocultar ]
Using java Syntax Highlighting
synchronized public void coger()
Coloreado en 0.011 segundos, usando GeSHi 1.0.8.4


¿Cuál es su equivalencia en Perl?
Avatar de Usuario
batussay
Perlero nuevo
Perlero nuevo
 
Mensajes: 10
Registrado: 2007-09-20 04:59 @249

Publicidad

Notapor explorer » 2007-10-12 13:05 @587

Se supone que cada hilo de ejecución va a ejecutar una parte del programa cada vez, por lo que creo que quieres decir es que el acceso a coger sea sincronizado entre hilos, no uno solo.

No estoy muy seguro, pero creo que no hay un equivalente, al menos de forma directa. Lo más parecido que existe es el bloqueo de un hilo sobre una subrutina/método, que se puede hacer con lock, para que solo ese hilo pueda acceder a ese método.

Ver apartado 17.2.2.3 del Programming Perl, tercera edición, sobre el bloqueo de subrutinas.

En cuanto a módulos, mírate por ejemplo Thread::Resource::RWLock.

Recomendable mirarse el tutorial sobre threads en Perl.
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

Notapor batussay » 2007-10-14 08:16 @386

¡¡GRACIAS!! por la info, la estoy revisando y está muy completa.
Avatar de Usuario
batussay
Perlero nuevo
Perlero nuevo
 
Mensajes: 10
Registrado: 2007-09-20 04:59 @249


Volver a Básico

¿Quién está conectado?

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