Página 1 de 1

Problema con hilos y semáforos

NotaPublicado: 2012-02-03 16:29 @728
por irwinvalera
Buen día a todos, primero que nada estuve revisando el foro desde hace un par de meses y recién me registro :D espero me puedan ayudar.

El problema es el siguiente:

Tengo un script que funciona con threads y semáforos, el cual ejecuta una cantidad "n" de scripts de manera simultanea, en un modelo tipo productor/consumidor y es aquí donde entran los semáforos. Resulta que para prueba tengo 5 hilos ejecutándose y resulta que de vez en cuando un script se mete a uno o más hilos dejando a los demás de lado (el script se ejecuta cada 1 minuto a los 0 segundos, lo cual no debería dar problema ya que cada ejecución de script no demora más de 40 segundos; sin embargo cuando quito la ejecución cada minuto y lo dejo de continuo, el programa funciona normal) Por ejemplo:

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
PASADA 1 (ok)
Hilo 1: script 1
Hilo 2: script 2
Hilo 3: script 3
Hilo 4: script 4
Hilo 5: script 5

PASADA 2 (ok)
Hilo 1: script 1
Hilo 2: script 2
Hilo 3: script 3
Hilo 4: script 4
Hilo 5: script 5

PASADA 3 (Mal)
Hilo 1: script 1
Hilo 2: script 2
Hilo 3: script 2
Hilo 4: script 4
Hilo 5: script 5

PASADA 4 (Mal)
Hilo 1: script 1
Hilo 2: script 2
Hilo 3: script 2
Hilo 4: script 3
Hilo 5: script 3

PASADA 5 (ok)
Hilo 1: script 1
Hilo 2: script 2
Hilo 3: script 3
Hilo 4: script 4
Hilo 5: script 5

PASADA 6 (Mal)
Hilo 1: script 4
Hilo 2: script 4
Hilo 3: script 3
Hilo 4: script 4
Hilo 5: script 1
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


... y así sucesivamente. A veces ejecuta bien, otras veces mal...

Espero me puedan ayudar. Gracias de antemano por la respuesta, tal vez no haya entendido muy bien cómo funcionan los semáforos. Si me dan una explicadita sería genial, ya que en la propia documentación de Perl no la entiendo bien. Gracias a todos.

Re: Problema con hilos y semáforos

NotaPublicado: 2012-02-04 07:32 @356
por explorer
Bienvenido a los foros de Perl en español, irwinvalera.

Sin ver el código, es difícil ver en dónde puede estar el error...

¿No puedes darnos un ejemplo de funcionamiento, es decir, mostrar un ejemplo mínimo de lo que quieres hacer?

Toda la documentación sobre intercambio de información entre procesos, señales y semáforos está en perldoc perlipc (aún no traducido al español).

Re: Problema con hilos y semáforos

NotaPublicado: 2012-02-08 09:14 @426
por irwinvalera
Gracias por tu respuesta. Sí me imaginaba que me pedirían el código. El detalle es que no puedo proporcionarlo, pero de todas maneras muchas gracias, he podido resolver el problema =) Espero que en otras ocasiones yo pueda ayudar a los demás. Dios los bendiga.