by Anonymous » 17 Jan 2025, 08:34
Ich habe mehrere YouTube-Demos und Tutorials zur Implementierung von Multithread-Operationen in Java verfolgt. Alle Tutorials zeigen jedoch das folgende Verfahren:
Code: Select all
class Task implements Runnable {
@Override
public void run() {
doTask();
}
public void doTask() {
for (int i = 0; i < 1500; i++) {
System.out.print('T');
}
}
}
public class Main {
public static void main(String[] args) {
Task t = new Task();
Thread thread = new Thread(t);
thread.start();
for (int i = 0; i < 1500; i++) {
System.out.print('M');
}
}
}
Einige Demos erweitern die Thread-Klasse anstelle von Runnable, folgen jedoch einem ähnlichen Konzept.
Ein Problem, das ich vermute, ist jedoch das „Was wäre wenn“. Ich möchte mehrere Logiken in einer Klasse haben, die ich gleichzeitig ausführen möchte, und dann habe ich ein Problem. Nun ja, Java-Veteranen kennen vielleicht einen Trick dafür. Ich habe jedoch versucht, eine solche Logik auf andere Weise umzusetzen. Hier ist der Code, den ich geschrieben habe:
Code: Select all
class Task {
public void doTask() {
for (int i = 0; i < 1500; i++) {
System.out.print('T');
}
}
}
public class Main {
public static void main(String[] args) {
Task t = new Task();
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
t.doTask();
}
});
thread.start();
for (int i = 0; i < 1500; i++) {
System.out.print('M');
}
}
}
Jetzt kann ich mehrere Threads starten und die bestimmte Methode aufrufen, die ich gleichzeitig ausführen möchte.
Jetzt möchte ich wissen, ob es einen Vorteil gibt Möglichkeit, einen Multithread-Betrieb mit dem ersten Ansatz zu implementieren, und gibt es irgendwelche Mängel beim letzteren?
Ich habe mehrere YouTube-Demos und Tutorials zur Implementierung von Multithread-Operationen in Java verfolgt. Alle Tutorials zeigen jedoch das folgende Verfahren:
[code]class Task implements Runnable {
@Override
public void run() {
doTask();
}
public void doTask() {
for (int i = 0; i < 1500; i++) {
System.out.print('T');
}
}
}
public class Main {
public static void main(String[] args) {
Task t = new Task();
Thread thread = new Thread(t);
thread.start();
for (int i = 0; i < 1500; i++) {
System.out.print('M');
}
}
}
[/code]
Einige Demos erweitern die Thread-Klasse anstelle von Runnable, folgen jedoch einem ähnlichen Konzept.
Ein Problem, das ich vermute, ist jedoch das „Was wäre wenn“. Ich möchte mehrere Logiken in einer Klasse haben, die ich gleichzeitig ausführen möchte, und dann habe ich ein Problem. Nun ja, Java-Veteranen kennen vielleicht einen Trick dafür. Ich habe jedoch versucht, eine solche Logik auf andere Weise umzusetzen. Hier ist der Code, den ich geschrieben habe:
[code]class Task {
public void doTask() {
for (int i = 0; i < 1500; i++) {
System.out.print('T');
}
}
}
public class Main {
public static void main(String[] args) {
Task t = new Task();
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
t.doTask();
}
});
thread.start();
for (int i = 0; i < 1500; i++) {
System.out.print('M');
}
}
}
[/code]
Jetzt kann ich mehrere Threads starten und die bestimmte Methode aufrufen, die ich gleichzeitig ausführen möchte.
Jetzt möchte ich wissen, ob es einen Vorteil gibt Möglichkeit, einen Multithread-Betrieb mit dem ersten Ansatz zu implementieren, und gibt es irgendwelche Mängel beim letzteren?