class WatekLiczbowy extends Thread
{
    int liczba ;
    private static boolean bieg = true ;

    public WatekLiczbowy (int x)
    {
        liczba = x ;
    }

    public void run ()
    {
        try
        {
            System.out.println("poczatek watku nr "+liczba) ;
            sleep((int)(Math.random()*9000+1000)) ;
            while (bieg)
            {
                System.out.print(" "+liczba) ;
                sleep((int)(Math.random()*9000+1000)) ;
            }
            System.out.println("koniec watku nr "+liczba) ;
        }
        catch (InterruptedException ex)
        {
            System.out.println("przerwanie watku nr "+liczba) ;
            return ;
        }
    }

    public static void main (String[] args)
    {
        try
        {
            System.out.println("---- poczatek programu ----") ;
            WatekLiczbowy[] tab = new WatekLiczbowy[6] ;
            for (int i=0 ; i<tab.length ; i++)
            {
                tab[i] = new WatekLiczbowy(i+1) ;
                tab[i].start() ;
            }
            Thread.currentThread().sleep(30000) ;
            System.out.println("\n---- koniec programu ----") ;
            bieg = false ;
        }
        catch (InterruptedException ex)
        {
            System.out.println("\n---- przerwanie programu ----") ;
            bieg = false ;
        }
    }
}

/*
---- poczatek programu ----
poczatek watku nr 1
poczatek watku nr 2
poczatek watku nr 3
poczatek watku nr 4
poczatek watku nr 5
poczatek watku nr 6
 3 6 3 2 1 4 5 3 2 6 2 1 4 5 6 4 3 4 1 2 3 6 4 2 1 5 4 6 3
---- koniec programu ----
koniec watku nr 4
koniec watku nr 2
koniec watku nr 1
koniec watku nr 3
koniec watku nr 6
koniec watku nr 5
*/
