Page 1 of 1

Separar un thread

PostPosted: Tue Jul 26, 2016 8:28 am
by thefull

Re: Separar un thread

PostPosted: Wed Jul 27, 2016 9:57 am
by Antonio Linares
Rafa,

En una aplicación GUI en que situaciones podríamos aprovechar los threads ?

Una barra de progreso sería un posible ejemplo, pero Windows ya se encarga de ellas.

Descartando conexiones por sockets. Solo refiriéndonos al GUI en si.

Te agradezco tus comentarios :-)

Re: Separar un thread

PostPosted: Wed Jul 27, 2016 8:29 pm
by thefull
>Rafa,
>En una aplicación GUI en que situaciones podríamos aprovechar los threads ?
>Una barra de progreso sería un posible ejemplo, pero Windows ya se encarga de ellas.
>Descartando conexiones por sockets. Solo refiriéndonos al GUI en si.

>Te agradezco tus comentarios :-)

Sinceramente, no lo se.
Lo único que se me ocurre estar en una ventana que procese muchos datos y aprovechar la potencia de los cores.
A nivel de Harbour, en nuestra aplicación , he desarrollado un hilo atendiendo mensajes de un dispositivo y que
el usuario debe hacerle caso, pero son casos muy concretos.
También a nivel , sobretodo de comunicaciones, por ejemplo, establecer una conexión a la BD, o un pool de conexiones,
por ejemplo.

Al menos , en lo que me he tenido que enfrentar.

De todas maneras, yo veo el uso de los threads en BackEnd, no en el Front-End que sería la GUI en si.

Re: Separar un thread

PostPosted: Tue Aug 02, 2016 2:30 pm
by hmpaquito
Para mi la situacion donde nos hace mucha falta el threading es cuando se lanza un proceso largo y la aplicacion se queda "colgada" y la pantalla se repinta en blanco.
Eso, al usuario le da muy mala impresion.

Necesitariamos que un hilo proceso el pintado, supongo que el principal, y otro, el nuevo, realice la tarea.

Re: Separar un thread

PostPosted: Tue Aug 02, 2016 3:38 pm
by thefull
La pantalla de 'No responde', lo puedes aplicar a básicamente a todas las aplicaciones.
El problema es que Windows va repartiendo el tiempo , y le toca al que le toca.
No estoy yo muy seguro que eso lo solucionas con un thread.

Delphi y Java , el GUI corren en threads aparte, y te puedo asegurar que el "No responde" es muy habitual.
Por aqui una aplicación Delphi, donde las conexiones son a traves de threads, el GUI con su thread, independiente
del proceso principal, que corre en su thread, ocurre bastante el tema del "No responde".

Re: Separar un thread

PostPosted: Thu Aug 04, 2016 10:08 am
by hmpaquito
Gracias Rafa por tu respuesta y aportes.


Sólo decir que he visto programas que hacen tareas y no cuelgan las pantallas. Por ejemplo, ultimamente he usado el WinSCP y permite llevar las tareas a segundo plano y no se nota para nada que está haciendo otra tarea, en cuanto al "no responde".

No he podido ver lo que nos has documentado sobre hilos... pero viendolo... de lejos... me sale que todo el tema multihilo se gestionaria mejor con una clase que encapsule las funciones. Es solo una idea. Cuando alguna vez me meta con el asunto, quiza la haga.

Saludos