
multiproceso detiene ejecución programa principal
Publicado por Jorge (4 intervenciones) el 13/04/2014 16:42:48
Buenos días a todos
He programado una aplicación en Visual Basic 2008 para registrar los datos adquiridos por cuatro osciloscopios Tektronix vía Ethernet. La aplicación consta de un programa principal que se ejecuta ciclicamente mediante un temporizador. Este ejecuta varios subprogramas asíncronos utilizando el componente BackgroundWorker. En cada uno de estos subprogramas empleo las instrucciones de un componente ActiveX para la lectura de los datos de oscilosopios.
Los subprocesos parecen que trabajan bien ya que si programo una espera (sleep) en uno de ello el programa principal sigue ejecutándose ciclicamente mientras el subproceso se para en dicha instrucción.
El problema que tengo es que cuando solicito datos al osciloscopio en uno de los subprocesos asíncronos, la aplicación de Visual Basic se detiene hasta que el PC lee los datos del osciloscopio. Debido a esto no puedo realizar tareas en paralelo por lo que se detiene todo el programa y me conlleva un gran consumo de tiempo.
¿Sabéis porque puede ser esto?¿Que solución se le podría dar?
Muchas gracias y saludos.
He programado una aplicación en Visual Basic 2008 para registrar los datos adquiridos por cuatro osciloscopios Tektronix vía Ethernet. La aplicación consta de un programa principal que se ejecuta ciclicamente mediante un temporizador. Este ejecuta varios subprogramas asíncronos utilizando el componente BackgroundWorker. En cada uno de estos subprogramas empleo las instrucciones de un componente ActiveX para la lectura de los datos de oscilosopios.
Los subprocesos parecen que trabajan bien ya que si programo una espera (sleep) en uno de ello el programa principal sigue ejecutándose ciclicamente mientras el subproceso se para en dicha instrucción.
El problema que tengo es que cuando solicito datos al osciloscopio en uno de los subprocesos asíncronos, la aplicación de Visual Basic se detiene hasta que el PC lee los datos del osciloscopio. Debido a esto no puedo realizar tareas en paralelo por lo que se detiene todo el programa y me conlleva un gran consumo de tiempo.
¿Sabéis porque puede ser esto?¿Que solución se le podría dar?
Muchas gracias y saludos.
Valora esta pregunta


0