G
Guest
Gast
Hallo!
Habe im Netz folgendes Programm gefunden.
Nun zu meiner Frage. Der erste Thread (northGerman) startet...und kommt in die run() Methode. Dort ist aber eine Endlosschleife while(true). Wie startet nun der zweite Thread (southGerman)?? Ich dachte, der zweite Thread startet wenn der erste beendet ist. Dieser kommt aber nie aus der Schleife raus....folglich wird er nicht beendet...wei funktioniert das ???
Habe im Netz folgendes Programm gefunden.
Code:
(1)public class ThreadBased1
(2){
(3) public static void main(String[] argv)
(4) {
(5) HelloThread northGerman = new HelloThread( "Moin Moin" );
(6) HelloThread southGerman = new HelloThread( "Gruess Gott" );
(7)
(8) northGerman.start();
(9) southGerman.start();
(10)
(11) System.out.println( "threads started ..." );
(12) } //end main()
(13)} //end class ThreadBased1
(14)// *****************************************************************
(15)class HelloThread extends Thread
(16){
(17) protected String greetingText;
(18)
(19) public HelloThread (String greetingText)
(20) {
(21) this.greetingText = greetingText;
(22) } //standard constructor
(23)
(24) public void run()
(25) {
(26) while (true)
(27) {
(28) try
(29) {
(30) Thread.sleep(500);
(31) } //try
(32) catch (InterruptedException ie)
(33) {
(34) System.out.println("an InterruptedException occurred\n"+ie.toString()+"\n"+ie.getMessage() );
(35) } //catch
(36)
(37) System.out.println( greetingText);
(38) } //while
(39) } //run()
(40)}//class HelloThread
Nun zu meiner Frage. Der erste Thread (northGerman) startet...und kommt in die run() Methode. Dort ist aber eine Endlosschleife while(true). Wie startet nun der zweite Thread (southGerman)?? Ich dachte, der zweite Thread startet wenn der erste beendet ist. Dieser kommt aber nie aus der Schleife raus....folglich wird er nicht beendet...wei funktioniert das ???