FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Programación con hilos
Buenas a todos. Estoy tratando de enterarme de como funcionan los hilos (no los he usado nunca) y he estado buscando por el foro pero todo, o casi, lo que encuentro es para gente que ya conoce algo del tema. ¿Podéis facilitarme algún sitio en el que comprender como funcionan los hilos, construirlos, etc.? GRacias
|
#2
|
||||
|
||||
¡Hola, Angel.Matilla!
Aquí tienes dos enlaces.
__________________
Buena caza y buen remar... http://mivaler.blogspot.com |
#3
|
||||
|
||||
Hola.
Otros enlaces:
Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#4
|
||||
|
||||
Algunos tips que son buenos a tener en cuenta:
Usa una libreria de alto nivel en vez de programar a pelo. Hacerlo manualmente es de lo mas fácil de hacer equivocadamente, y no hay nadie que pueda decir que lo hace correcto sin ayuda mecánica: ni MS, ni Google, ni Mozilla, ni Apple ni nadie. Notaras que TODOS ESTOS crean librerías especializadas e incluso lenguajes COMPLETOS (Rust, Go) por la complejidad del tema. "no se comunique compartiendo memoria; compartir memoria comunicándose" es la mejor manera. Usa un "canal" de comunicación y pasa datos, pero NO intentes amarrar punteros, objetos o recursos. Es idéntico a como funciona la programación web: NO te conectas directo (por punteros o similar) a una BD: Creas un JSON (datos) que envía por POST los datos de conexión y dentro de un hilo se hace todo. Igualmente en una app el multi-hilo se maneja mejor de forma similar: Mandas comandos/datos y dentro del hilo que realmente "tiene" la conexión devuelves los datos, pero nunca das acceso directo a un recurso desde multiples hilos. TODO esto te lo debe dar una libreria de alto nivel y por ende no deberias preocuparte de como se hace, solo que nunca "mandas" un objeto como una conexion o archivo o formulario, solo la PETICION de que el otro lado haga algo. Es como el modelo "cliente/servidor". Ok? --- Ahora lo mas simple es solo tener 2 hilos a la vez: El que maneja la UI que es por defecto y no hay nada que tengas que hacer ahi y uno de background" para descargar tareas que no bloqueen la UI. En tal caso es mucho mas fácil, pero sigue la consigna: NO pases (ni con locks hechos a pelo, todo debe ser por medio de la libreria de alto nivel) recursos ni objetos "pesados", pasa un record/json/dato plano que le comunique al otro lado lo que debe hacer y devuelve datos de igual manera. -- Si tienes un requerimiento que sea mas complejo que 2 hilos, entonces seria bueno que lo indiques, porque hay varios patrones de diseño que te permiten resolver esto de forma correcta y con mucho menos lios. P.D: Estos patrones lo explican en esta libreria: https://zguide.zeromq.org/docs/chapter2/ que es multi-lenguaje/plataforma y es de los recuersos que mejor explican los diseños comunes de este tema. P.D.2: La libreria que use hace tiempo que resuelve todo esto en Delphi es http://www.omnithreadlibrary.com. Parece que la forma directa en Delphi en ultimas versiones es https://blogs.embarcadero.com/learn-...-using-delphi/
__________________
El malabarista. Última edición por mamcx fecha: 08-04-2021 a las 04:21:23. |
#5
|
||||
|
||||
Cita:
Si explicas algo del proceso que quieres realizar con hilos tal vez podamos ayudarte. Yo he programado cosas con hilos en Delphi y cuando entiendes un poco cómo funcionan no son complicados. Simplemente tener claro que hay determinadas cosas que no debes hacer. Lo dicho, según qué procesos pueden ser sencillos, incluso moverlos desde una programación "normal" a una "con hilos", puede ser relatívamente fácil, pero al final todo depende; Depende del proceso que debas oimplementar...
__________________
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. |
#6
|
||||
|
||||
Gracias a todos por vuestras respuestas. Empezaré por tratar de ir leyendo los enlaces que me habéis pasado.
Cita:
|
#7
|
||||
|
||||
Cita:
|
#8
|
||||
|
||||
Cita:
|
#9
|
||||
|
||||
Menos mal que contestaste, llevo sin poder dormir desde entonces esperando la respuesta
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
hilos !! ?? | lmpadron | C++ Builder | 2 | 14-03-2012 04:41:31 |
Hilos | johurgi | Varios | 2 | 16-07-2007 10:57:08 |
¿Se pierden hilos? | Casimiro Notevi | La Taberna | 17 | 26-06-2006 15:51:21 |
ver hilos | Cosgaya | Varios | 1 | 07-06-2005 20:35:16 |
Hilos con COM | urush30 | Varios | 0 | 21-09-2004 10:07:37 |
|