Sincronización de subprocesos y GUI en una aplicación Delphi

Código de muestra para una aplicación GUI Delphi con varios subprocesos

Sincronización de subprocesos y GUI

Sincronización de subprocesos y GUI.





subprocesos múltiples en Delphi le permite crear aplicaciones que incluyen varios caminos de ejecución simultáneos.

Una aplicación Delphi normal es de un solo subproceso, lo que significa que todos los objetos VCL acceden a sus propiedades y ejecutan sus métodos dentro de este único subproceso. Para acelerar el procesamiento de datos en su aplicación, incluya uno o más subprocesos secundarios.



Subprocesos del procesador

A hilo es un canal de comunicación de una aplicación a un procesador. Los programas de subproceso único necesitan que la comunicación fluya en ambas direcciones (hacia y desde el procesador) mientras se ejecuta; Las aplicaciones de subprocesos múltiples pueden abrir varios canales diferentes, lo que acelera la ejecución.

Hilos y GUI

Cuando se ejecutan varios subprocesos en la aplicación, surge la pregunta de cómo puede actualizar su interfaz gráfica de usuario como resultado de la ejecución de un subproceso. La respuesta está en la clase TThread Sincronizar método.



Para actualizar la interfaz de usuario de su aplicación, o el subproceso principal, desde un subproceso secundario, debe llamar al método Synchronize. Esta técnica es un método seguro para subprocesos que evita conflictos de subprocesos múltiples que pueden surgir al acceder a propiedades de objetos o métodos que no son seguros para subprocesos, o al usar recursos que no están en el subproceso principal de ejecución.

A continuación se muestra una demostración de ejemplo que utiliza varios botones con barras de progreso, cada barra de progreso muestra el 'estado' actual de la ejecución del subproceso.

|_+_|

Gracias a Jens Borrisholt por enviar este ejemplo de código.