1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Java Thread Programmierung

  • Gedor@
  • 23. Oktober 2010 um 01:55
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • Gedor@
    Punkte
    195
    Beiträge
    27
    • 23. Oktober 2010 um 01:55
    • #1

    Hallo, habe da eine Frage bezüglich der Thread Programmierung.

    also das sind meine Java files :

    Code
    public class AThread implements Runnable{
    
    
        @Override public void run() 
      { 
        for ( int i = 0; i < 20; i++ ) 
          System.out.println( new java.util.Date() ); 
      } 
    
    
        
    }
    Alles anzeigen
    Code
    public class BThread implements Runnable {
    
    
        
    
    
       
    
    
    
    
       @Override public void run()
      {
        for ( int i = 0; i < 20; i++ )
          System.out.println( i );
      }
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    }
    Alles anzeigen

    und die classe mit der main Methode

    Code
    public class Datagram {
    
    
        public static void main(String[] args){
    
    
    
    
            Thread a = new Thread (new AThread());
            a.start();
    
    
            Thread b = new Thread (new BThread());
            b.start();
    
    
        }
    }
    Alles anzeigen

    Die Ausgabe sollte aussehen als würden die Threads parallel arbeiten
    aber bei mir wird zu erst einer und dann der andere ausgeführt, also zuerst a dann b.
    Habe ich da etwas falsch gemacht?

  • Paulchen
    Gast
    • 23. Oktober 2010 um 02:38
    • #2
    Zitat von Gedor@

    Habe ich da etwas falsch gemacht?

    Nein, das schaut schon richtig aus. Möglicherweise ist aber Thread A so schnell, dass er mit der Ausgabe fertig ist, bevor Thread B startet. Bau einfach künstliche Verzögerungen mit Thread.sleep() ein.

  • Gedor@
    Punkte
    195
    Beiträge
    27
    • 23. Oktober 2010 um 10:58
    • #3

    Mit den Verzögerungen sieht man die Parallelität aber ich dachte dass das ohne die Verzögerungen geht. Danke

  • Zaru
    Punkte
    592
    Beiträge
    116
    • 23. Oktober 2010 um 10:59
    • #4

    Lass mal die Schleifen länger als 20 mal laufen. Bei entsprechendem Aufwand wird das schon parallel sein.

    Aber das hängt ja davon ab, wie die Prozessorzeit "gescheduled" wird, von daher wir das Ergebnis bei jedem Versuch anders aussehen, ohne dass du da groß was beeinflussen könntest.

  • Gedor@
    Punkte
    195
    Beiträge
    27
    • 25. Oktober 2010 um 12:27
    • #5

    Danke

  • Maximilian Rupp 27. Dezember 2024 um 00:26

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

  1. Datenschutzerklärung
  2. Impressum