Re: Problema con apis de windows
Publicado: 16 Sep 2009, 09:03
Sí, los hilos es algo así como la multitarea pero dentro de un programa. Multitarea es ejecutar varios programas diferentes a la vez, multihilo es que un programa concreto ejecute varias de sus partes a la vez ("a la vez" puede ser simulado, a menos que tengas realmente varios procesadores).
En el caso del AutoIt simplemente es que no está preparado para ser multihilo, así que es difícil saber qué puede estar pasando. Yo por lo pronto evitaría usar variables con el mismo nombre, aunque sean locales, pues no sabemos muy bien cómo gestiona AutoIt sus variables y a lo mejor comparten memoria si tienen el mismo nombre. Prueba a poner a $Num un nombre diferente en cada hilo a ver si ayuda algo...
Suerte, es un tema interesante pero me temo que sin soporte de los creadores de AutoIt es difícil, los problemas de sincronización de tareas son bastante peliagudos, poder registrar los hilos con la API está muy bien pero es el principio.
Al menos quizás sea posible mandar un hilo en paralelo de vez en cuando, para hacer tareas largas en segundo plano y seguir trabajando. En el ejemplo es que crea 4 de repente... (3 nuevos más el original). A ver si tengo tiempo y hago alguna prueba.
¡Suerte, ya nos contarás!
En el caso del AutoIt simplemente es que no está preparado para ser multihilo, así que es difícil saber qué puede estar pasando. Yo por lo pronto evitaría usar variables con el mismo nombre, aunque sean locales, pues no sabemos muy bien cómo gestiona AutoIt sus variables y a lo mejor comparten memoria si tienen el mismo nombre. Prueba a poner a $Num un nombre diferente en cada hilo a ver si ayuda algo...
Suerte, es un tema interesante pero me temo que sin soporte de los creadores de AutoIt es difícil, los problemas de sincronización de tareas son bastante peliagudos, poder registrar los hilos con la API está muy bien pero es el principio.
Al menos quizás sea posible mandar un hilo en paralelo de vez en cuando, para hacer tareas largas en segundo plano y seguir trabajando. En el ejemplo es que crea 4 de repente... (3 nuevos más el original). A ver si tengo tiempo y hago alguna prueba.
¡Suerte, ya nos contarás!