## El Cuerpo de un Thread

Toda la acción tiene lugar en el cuerpo del thread, que es el método run() del thread. Después de crear e inicializar un thread, el sistema de ejecución llama a su método run(). El código de este método implementa el comportamiento para el que fue creado el thread. Es la razón de existir del thread.

Frecuentemente, el método run() de un thread es un bucle. Por ejemplo, un thread de animación podría iterar a través de un bucle y mostrar una serie de imágenes. Algunas veces un método run() realiza una operación que tarda mucho tiempo, como descargar y ejecutar un sonido o una película JPEG.

Puedes elegir una de estas dos formas para proporcionar un método run() a un thread Java:

1. Crear una subclase de la clase Thread definida en el paquete java.lang y sobreescribir el método run().
   Ejemplo: La clase SimpleThread descrita en En ejemplo sencillo de Thread.

2. Proporcionar una clase que implemente el interface Runnable, también definido en el paquete java.lang. Ahora, cuando se ejemplarice un thread (bien directamente desde la clase Thread o desde una de sus subclases), dale al nuevo thread un manejador a un ejemplar de la clase Runnable. Este objeto Runnable proporciona el método run() para el thread.
   Ejemplo: El applet de un reloj que verás en la página siguiente.

Existen varias buenas razones para elegir uno de estas dos opciones. Sin embargo, para la mayoría de los casos, la mejor opción será seguir está regla del pulgar:

Regla del Pulgar: si tu clase debe ser una subclase de otra clase (el ejemplo más común son lo applets), deberás utilizar Runnable descrito en la sección Nš 2.

Ozito