Buen día a todos, primero que nada estuve revisando el foro desde hace un par de meses y recién me registro
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:
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.