Комментарии:
Was genau macht der Try catch Block?
ОтветитьMacht richtig Spaß zuzuschauen!
ОтветитьDanke dir, sehr schön und einfach erklärt
ОтветитьDanke für das Video! :)
Hier meine Lösung:
public class Main {
public static void main(String[] args) {
Thread thread1 = new Thread(new Runnable() {
@Override
public void run() {
for (int i = 0; i <= 10; i += 2) {
System.out.println(i);
try { Thread.sleep(1000); }
catch (InterruptedException e) {
e.printStackTrace();
}
}
}
});
Thread thread2 = new Thread(new Runnable() {
@Override
public void run() {
for (int i = 1; i < 10; i += 2) {
try { Thread.sleep(500); }
catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(i);
try { Thread.sleep(500); }
catch (InterruptedException e) {
e.printStackTrace();
}
}
}
});
thread1.start();
thread2.start();
}
}
Vielen Dank für deine Videos . Sehr hilfreich und verständlich erklärt, auch für etwas in die Jahre gekommene Neueinsteiger :) Hier meine Lösung zur Challenge:
public class Main {
public static void main(String[] args) {
Threadmaker.lassImHintergrundLaufen(new Runnable() {
@Override
public void run() {
for (int i = 0; i < 11; i++) {
if(i % 2 != 0) {
try {
Thread.sleep(1010);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
System.out.println(i);
} else {
continue;
}
}
}
});
for (int i = 0; i < 11; i++) {
if(i % 2 == 0) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
System.out.println(i);
} else {
continue;
}
}
}
}
Moin Jonas, wieso braucht die run-Methofe in dem Fall einen try-catch-Block? Meine intuition hätte mir gesagt, ich kündige die exception einfach im methodenkopf an. Danke für deine Videos, immer, wenn ich nen Java-Tutorial brauche, suche ich in deinem Kanal :D!
ОтветитьEinwandfrei erklärt! Vielen Dank.
ОтветитьHi Mister Keil, ich muss schon sagen: "DAS war Mindblowing!" 🤯 Das ist mein erstes Video von Dir und ich habe Deinen Channel direkt mal Abonniert! 😌Ich habe erst vor kurzem angefangen mit Objekt_Orientierter_Programmierung (eigtl. Java an sich) und ich hab sehr VIEL verstanden! DANKE dafür und weiter so! 👍Liegt vermutlich an Deiner besonderen Art einen an der Hand zu nehmen und Stück für Stück durch den Code zu begleiten. Auch wenn es mühselig ist, erklärst Du im Detail! wie man von hier nach da kommt und was da eigentlich passiert etc.👏 - das hilft sehr auch bisher gelerntes zu vertiefen. Was toll ist, dass Du unterschiedliche Werkzeuge vorstellst um ein Problem zu lösen-was mich animiert die Lambda-Geschichte mal zeitnah anzuschauen. 👀Cool finde ich Deine Challenge(s) am Ende - gibt's hierzu auch Musterlösung(en) im Github o.ä.? PS: Kannst Du (oder gerne auch ein anderer) mir sagen wie das mit dem "IntelliJ" funktioniert? Das Addon ("React Buddy") hat bei mir auf Eclipse nicht geklappt - Hast Du evtl. eine Anweisung hierfür oder benutzt Du was anderes? 🤔- vielen Dank im Voraus und agaib: Weiter so!😎👍
ОтветитьBallerst einfach durch das ganze Video double time
ОтветитьEs gibt noch eine wichtige Methode in der Thread Klasse und die nennt sich "synchronized". Damit kann man die Threads wunderbar aufeinander abstimmen. Also der nächste Thread wird erst ausgeführt, wenn der erste bereits abgeschlossen ist (wie in seinem Zählbeispiel), nur dass man nicht mit einem "sleep" arbeiten muss.
ОтветитьDu erklärst diesen try dingens so schnell.. als ob jeder wüsste worüber du redest 😂 chill mal junge
ОтветитьEin tolles Video, vielen Dank!
Es wäre sehr cool, wenn du noch ein Video für Streams machst :)
Sehr interessantes Video!
Hier meine Lösung zur Challenge am Schluss:
// 1.Klasse:
public class MyRunnable1 implements Runnable {
@Override
public void run() {
for (int i = 0; i <= 10; i += 2) {
System.out.println("Gerade Zahlen bis Zehn: " + i);
}
}
}
//2.Klasse:
public class MyRunnable2 implements Runnable {
@Override
public void run() {
for (int i = 1; i <= 10; i += 2) {
System.out.println("Ungerade Zahlen bis Zehn: " + i);
}
}
}
//Main Klasse:
public class Main {
public static void main(String[] args) {
MyRunnable1 runnable1 = new MyRunnable1();
MyRunnable2 runnable2 = new MyRunnable2();
Thread thread = new Thread(runnable1);
Thread thread2 = new Thread(runnable2);
thread.start();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println();
thread2.start();
}
}
Kürzere Version mit Anwendung anonymer Runnable Klassen (alles in einer Klasse):
public class Multithreading {
public static void main(String[] args) {
Thread thread1 = new Thread(new Runnable() {
@Override
public void run() {
System.out.println("Gerade Zahlen bis 100:");
try {
Thread.sleep(1000);
for (int i = 2; i < 100; i += 2) {
System.out.println(i);
Thread.sleep(100);
}
} catch (InterruptedException e1) {
e1.printStackTrace();
}
}
});
thread1.start();
try {
thread1.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
Thread thread2 = new Thread(new Runnable() {
@Override
public void run() {
System.out.println("Ungerade Zahlen bis 100:");
try {
Thread.sleep(1000);
for (int i = 1; i < 100; i += 2) {
System.out.println(i);
Thread.sleep(100);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
thread2.start();
}
}
Wirklich toll gemacht, erklärt und veranschaulicht! Ich persönlich fände es allerdings noch wichtig, das Thema ExecutorServices zu ergänzen, da diese Methode des Multithreadings in Java für mich einfach deutlich praktikabler als der „ThreadMaker“ im Video ist. :)
ОтветитьDu kannst echt gut erklären, nach 5 Videos, war deins das Beste. Danke dir!
Ответитьhey jonas, bin mit deiner playlist jetzt durch! vielen Dank dir für deine Hilfe und die krassen Erklärungen und Vereinfachungen.
Eine Frage hätte ich dennoch zum Schluss, und zwar bin ich ja jetzt alle Videos durch (und habe auch alle codes rausgeschrieben) und somit alle Themen die du in der Playlist hattest auch, jetzt frage ich mich nur noch, ist das Alles Alles in Java ? Also sind das alle Themen in Java und es gibt quasi keine anderen Themen mehr und das alles ist das gesamte Spektrum an Java und alles was ich jetzt nur noch machen müsste wäre das gelernte Wissen durch eigene Programme anzuwenden oder ? Oder ist das alles erst sowas wie ein Anfang in die noch riesigere Programmiersprache Java?
Hoffe du verstehst meine Frage.
Liebe Grüße
wie kann ich hier nun prüfen ob die threads beim letzten beispiel auch wirklich im hintergrund laufen... habe versucht mehrere threads nacheinander zu erzeugen doch bei der ausgabe sehe ich dass die sachen nacheinander ausgegeben werden und nicht zusammen...
ОтветитьIch sitzt hier einfach in meim Wirtschaftsinformatik Studium und du hast mir das Thema besser erklärt als mein Prof xD
Find ich super nice, mach bitte weiter so!!
Bitte bitte bitte höre nicht auf mit deinen Tutorials!!! Mit dir macht Java endlich spaß.. und selbst schwierige Themen verstehe ich spielend leicht! Du hast ein Talent dafür, weiter so!!! <3
Ответитьbeste Java Videos, vielen dank! und du bist auch sehr hübsch!Schönen Tag noch!
ОтветитьJonas komm nicht auf eine Idee deine Videos zu löschen oder so ähnliches :D Und wenn du sowas machst, dann sag mir bescheid, ich lade alle deine Java Tutorials runter.
ОтветитьBro du bist Gold wert danke dir 🙏🏽
Ответитьich hab mal noch n kleinen Tip für Anfänger, die IntelliJ nutzen. Gebt mal beim erstellen der Main Methode einfach psvm ein und drückt enter oder klickt den Vorschlag von Intelli an :)
ОтветитьIch habe mir deine Playlist zu OOP von Java angeschaut. Sehr einfach und lehrreich erklärt, vielen Dank für den sehr guten Content. Verdienst auf jedenflall mehr Aufmerksamkeit.
ОтветитьTolle Videoreihe, weiter so :D
Ответить