none
Funcionamiento de Threads RRS feed

  • Pregunta

  • Buenas, estoy iniciándome en el mundo de los subprocesos, y la cuestión es que estoy trabajando en el desarrollo de una aplicación en la cual abro un Thread que realiza unas determinadas funciones y luego se cierra, una de las funciones que ejecuta el subproceso crea un Addhandler que está vinculada con un sub, el evento lo llama una api externa la cual lo inicia cada x tiempo, el caso es que el hilo que lanzo no tiene ningún bucle simplemente vincula una variable global a un evento y luego se acaban las instrucciones.

    La duda que tengo es que a la hora de recibir el evento el sub no se ejecuta desde el hilo que yo cree (este hilo se mure al finalizar las instrucciones) sino se crean varios hilos de forma automática que ejecutan la función a la llama el evento.

    La aplicación tras algunas pruebas funciona correctamente, pero me llama la atención que se creen estos theads que han salido por así decirlo de la nada.

    ¿Alguien podría decirme a que se debe esto?

    Muchas Gracias y un saludo.


    jueves, 11 de enero de 2018 12:32

Respuestas

  • Esos hilos fantasma en donde ejecuta/ejecutaría el callback, los tienes verificados o es sólo una manera de explicarte a ti mismo lo que está pasando. 

    No importa. La respuesta es independiente. La función asociada al evento se ejecutará siempre, en el hilo del que la llama. Si el api creó un nuevo hilo para procesar la tarea y, desde allí hace el raise del evento, ese será su hilo.

    La variable "global" que referencia el evento, es un recurso del proceso, al que cualquier hilo tiene acceso.

    • Propuesto como respuesta Pablo Rubio jueves, 11 de enero de 2018 17:29
    • Marcado como respuesta Pablo Rubio jueves, 11 de enero de 2018 23:03
    jueves, 11 de enero de 2018 15:10
  • He echado un vistazo y llevas razón, la api es la que me crea esos Hilos.

    Gracias por todo, Un saludo.

    • Marcado como respuesta Pablo Rubio jueves, 11 de enero de 2018 23:03
    jueves, 11 de enero de 2018 16:20

Todas las respuestas

  • Esos hilos fantasma en donde ejecuta/ejecutaría el callback, los tienes verificados o es sólo una manera de explicarte a ti mismo lo que está pasando. 

    No importa. La respuesta es independiente. La función asociada al evento se ejecutará siempre, en el hilo del que la llama. Si el api creó un nuevo hilo para procesar la tarea y, desde allí hace el raise del evento, ese será su hilo.

    La variable "global" que referencia el evento, es un recurso del proceso, al que cualquier hilo tiene acceso.

    • Propuesto como respuesta Pablo Rubio jueves, 11 de enero de 2018 17:29
    • Marcado como respuesta Pablo Rubio jueves, 11 de enero de 2018 23:03
    jueves, 11 de enero de 2018 15:10
  • He echado un vistazo y llevas razón, la api es la que me crea esos Hilos.

    Gracias por todo, Un saludo.

    • Marcado como respuesta Pablo Rubio jueves, 11 de enero de 2018 23:03
    jueves, 11 de enero de 2018 16:20