Ir al contenido


Foto

Una aplicación multihilo con Free Pascal y Lazarus.


  • Por favor identifícate para responder
No hay respuestas en este tema

#1 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 01 abril 2010 - 07:30

La clase TThread

  El ejemplo que utilizaremos se puede encontrar en el directorio ${LazarusDir}/examples/multithreading/.
  La manera más fácil de crear una aplicación de múltiples hilos es utilizar la clase TThread. Esta clase permite la creación de un hilo adicional, junto con el hilo principal, de una manera sencilla.
  Por lo general, sólo tienen que sobrescribir dos métodos: el constructor Create y el método Execute.
  En el constructor hay que preparar el hilo para su ejecución. Hay que dar el valor inicial a las variables y propiedades que lo precisen. El constructor original de TThread requiere un parámetro llamado Suspended. Como es de esperar, si Suspended es verdadero (true) se evitará que el hilo de comience automáticamente tras la creación. Si el valor del parámetro Suspended es 'false' el hilo se ejecutará inmediatamente después de la creación.
  Si el hilo se crea suspendido, entonces sólo se ejecutará después de llamar al método Resume.
  Desde la versión 2.0.1 de PFC TThread.Create tiene además un parámetro implícito para el tamaño de la pila (Stack), con lo que se puede modificar el tamaño de la pila de cada hilo creado si ello es preciso. Un buen ejemplo es la recursión con alto anidamiento de llamadas. Si no se especifica el tamaño de la pila en el parámetro, se utilizará el valor por defecto del SO.
  En el método Execute sobrescrito se pone el código que deseamos que ejecute el hilo.
  La clase TThread tiene una propiedad importante:   

Continua aqui..

  • 0




IP.Board spam blocked by CleanTalk.