FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Threads en unit
Hola , estoy haciendo una unit que hace multithreading , el codigo de la unit :
Debe funcionar tanto en aplicaciones graficas como en consola , lamentablemente estoy mejorandola para que funcione en consolas , el codigo de la consola.
Funciona , pero entra en un ciclo infinito :
Intente checkeando que verificara la cantidad de threads y ahi terminara :
Pero si hago esto no se ejecuta ningun thread. ¿ Alguien podria ayudarme ? |
#2
|
||||
|
||||
Pensaría que quizá necesitas hacer un decremento de fThreadRefCount en el ciclo:
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ |
#3
|
||||
|
||||
No entiendo nada de tu codigo
Por que usas un Syncronize para ejecutar un ShellExecute? Eso ya esta creando un proceso externo a tu aplicacion, no hace falta que sincronices nada Por que el Application.ProcessMessages? Por que el CheckSynchronize? |
#4
|
||||
|
||||
Bueno, me hago las mismas preguntas, aunque asumí que son "para algo" y ya, por eso mi respuesta.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ |
#5
|
||||
|
||||
Para aplicaciones de consola, si se debe usar CheckSynchronize
Lee la documentacion Es necesario asignar el valor del metodo a WakeMainThread El problema es que desde una aplicacion con interfaz grafica no deberias tocar esa variable, y usar TThread.Syncronize Yo me replantearia el diseño |
#6
|
|||
|
|||
El shellexecute es solo un ejemplo , en esa parte del codigo va todo el funcionamiento o el codigo que agregare en el futuro.Estoy estudiando multithreads pero hay muy pocos ejemplos.
|
#7
|
|||
|
|||
Perdon , hago otro post porque me olvide de un detalle importante , uso Synchronize porque estoy usandolo en una consola.
|
#8
|
|||
|
|||
¿Qué problema estás tratando de solucionar?
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
mostrar 2 raise de una unit dentro de un try except de otra unit fuera del IDE | fcios | Varios | 1 | 31-12-2015 12:05:20 |
Threads y DataModule | brandolin | OOP | 5 | 20-10-2011 21:33:31 |
uso de threads | JULIPO | API de Windows | 2 | 25-07-2007 16:09:06 |
Threads in DLL's | Gianni | Varios | 0 | 20-07-2007 22:18:23 |
Threads y transacciones | anduj | Conexión con bases de datos | 5 | 12-07-2005 20:31:40 |
|