Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Die würden parallel laufen, nur eben startest Du den ersten Thread, wartest 500 Millisekunden um dann den zweiten Thread zu starten. In der Zeit, in der Du wartest, ist der erste Thread doch schon durch.
Und Thread.sleep ist eine statische Methode. Ich bin der Meinung, dass es in Java ein Fehler sein sollte, wenn Klassenmethoden auf einer Instanz aufgerufen werden. Es pausiert nicht der Thread obj oder obj2 sondern der aktuelle Thread der die main Methode durchläuft.
Wie schon gesagt wurde läuft es parallel. Wenn du es so machst wie in meinen Code. Wartet der Thread nach einen Durchlauf in der for Schleife deine 500 ms.
Wenn du es besser prüfen beobachten willst dann mache zwei Thread Klassen in denen du nicht nur die for laufvariable ausgibst sondern auch noch den zusatz das es Thread 1 oder Thread 2 ist der eine Ausgabe macht.
Eines noch damit wir uns richtig verstehen. Die beiden Threads laufen nicht syncon parallel neben einander her.
Die Threads laufen asyncon nebeneinander.
Muss also nicht sein das in der Anzeige 1 1 2 2 3 3 4 4...... steht.
Kann wild durcheinander gehen.
Deshalb der Tipp bei der Ausgabe das du sehen kannst welcher Thread dann war.
In wie weit, müsste ich den Code ändern damit er parallel läuft ?
Wie schon gesagt wurde läuft es parallel. Wenn du es so machst wie in meinen Code. Wartet der Thread nach einen Durchlauf in der for Schleife deine 500 ms.
Wenn du es besser prüfen beobachten willst dann mache zwei Thread Klassen in denen du nicht nur die for laufvariable ausgibst sondern auch noch den zusatz das es Thread 1 oder Thread 2 ist der eine Ausgabe macht.
Also bei der Lösung laufen die beiden Threads zwar parallel, aber sie sind nicht synchronisiert.
Man könnte es synchronisieren - dazu könnten die Threads z.B. Daten austauschen. So könnte z.B. immer nur ein Thread dran sein. Das könnte man über eine Variable machen. Damit beide Threads nicht gleichzeitig zugreifen und etwas verändern würde man den Zugriff schützen - dann wäre da der Zugriff z.B. Synchronized ... da kann man sich noch viel mehr überlegen und dann kommt man zu vielen Dingen, die es in dem Bereich schon gibt.
Das geht aber deutlich über so ein Forum hinaus. Da gibt es genug Informationen im Web, die man sich anschauen kann. Eine Suche nach Java Threads synchronized liefert einige Treffer, z.B.: