package javacodebook.thread.multiusethread;

/**
 * Der Thread, der mehrfach gestartet und gestoppt werden soll. Was der Thread
 * letztendlich macht, ist für das Beispiel unerheblich.
 *
 * @author Mark Donnermeyer
 */
class WorkerThread extends Thread {
    boolean stop = false;
    
    public void run() {
        // Der Thread wurde gestartet und läuft solange, bis er von aussen
        // über die Methode stopEcexution gestoppt wird. Alle 100 ms gibt
        // der Thread ein Lebenszeichen von sich.
        
        System.out.println("Thread gestartet");
        while (!stop) {
            System.out.print(".");
            try {
                sleep(100);
            }
            catch(Exception ignore) {}
        }
        System.out.println("\nThread gestoppt");
    }
    
    /*
     * Methode, um den Thread jederzeit sauber stoppen zu können
     */
    public void stopExecution() {
        stop = true;
    }
}

