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');
}
}
}
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 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?