![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Otra cosa más, que tal vez es evidente, pero la comento.
La primera opción que se nos ocurre a veces es coger un gran trozo de código que ya tenemos, crear un hilo, copiarlo dentro y meterlo en un Synchronize. Eso funcionará, pero el problema es que TODO el código que esté en un Synchronize, se ejecuta de forma "bloqueante"; Es decir, por lo que he comentado antes, cuando se ejecuta un método que se llama desde un Synchronize, la ejecución del hilo prinicipal se detiene, para evitar problemas, por lo tanto si TODO el código de un hilo lo ponemos en un Synchronize NO ESTAMOS GANANDO NADA. Lo habitual es que las tareas del hilo "grandes" o "que ocupan la mayor parte del tiempo", se ejecuten en un proceso (sin Synchronize), y los métodos que se usan con Synchronize sean pequeños en tiempo de ejecución (normalmente para actualizar interface, como por ejemplo barras de progreso,...). Si buscas en los foros o si revisas mi web, encontrarás varios ejemplos de threads con código. Si los revisas verás cómo es la estructura y cómo se ejecuta el método Synchronize para actualizar componentes (progresos, labels,...) dentro del thread.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
#2
|
||||
|
||||
|
Hola Neftali,
Perdona por tardar en contestar. Tienes razón, fue que mirando aquí y allí, y cogiendo un poco de esto y un poco de lo otro, salio un "guiso" amargo. Pondré en practica eso que dices de usar los threads solo para procesos menores (actualizar tal o cual componente). En cuanto a dejar el proceso que tarda mas tiempo fuera del hilo, imagino que al meter los procesos de la barra de progreso, el memo etc dentro del thread, también podre minimizar la ventana sin problemas ¿o estoy equivocado? no sé igual parece una tonteria, pero eso de no poder minimizar por que está todo "congelado" me desespera bastante y me refiero a mi aplicación. Lo de tu página la tengo en favoritos y me leere el tema de los dichosos hilos, la verdad es que me gustaría sino dominar su funcionamiento, al menos si poder trabajar con ellos sin problemas. Sobre lo de ser adivinos y tal, es culpa de mi desconocimiento del tema, conocer algo es la base para una buena explicacion o presentacion de un problema, y como no sabía como exponer bien el asunto con los hilos de marras, pues bueno... me expresé lo mejor que supe y pido disculpas si no fue suficiente. Bueno, dicho esto me pongo con el temita este a ver si lo aclaro ya. Muchas gracias y saludos a todos! |
|
#3
|
||||
|
||||
|
Cita:
(1) Los threads puedes usarlos para todo tipo de procesos, sean costosos o no. El hecho de poner algo dentro del hilo te permite que el programa no tenga que esperar a que ese proceso acabe y pueda continuar haciendo otras cosas. Dentro del hilo hay cosas que se ejecutan en el RUN (es la ejecución propia del hilo) y cosas que se ejecutan usando SYNCHRONIZE (también dentro del hilo, pero usando este método). Lo que interactue con elementos de la VCL o con "cosas" que tengas definidas fuera del hilo, deben hacerse mediante SYNCHRONIZE, el resto del proceso en el RUN. (simplificando mucho) Un saludo.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Pasar cadena de conexion a tadoconnections dentro de un hilo de ejecucion | richy08 | OOP | 4 | 02-08-2010 23:49:32 |
| como crear un hilo de ejecucion ayudenme plis!!! | jazmin | OOP | 4 | 21-06-2010 09:55:13 |
| cuando llamo ejecutar un hilo dentro del proceso del hilo no lo hace | robertosc | Varios | 1 | 14-08-2007 22:11:09 |
| Dudas Crear Objetos en Tiempo de Ejecución | Deiv | OOP | 9 | 09-08-2007 01:13:15 |
| Parar un hilo de ejecución | deivi | Varios | 6 | 21-11-2006 13:36:49 |
|