Um die Thread-Verarbeitung auszuführen, erstellen Sie eine Instanz der Thread-Klasse und rufen Sie deren Startmethode auf. Als nächstes möchte ich den Verarbeitungsinhalt schreiben, aber wenn Sie eine Klasse schreiben, die eine Schnittstelle namens Runnable implementiert, und diese an "new Thread ()" übergeben; OK
java
class MyRunnable implements Runnable {
public void run(){
for (int i=0; i < 500; i++){
System.out.print('*');
}
}
}
public class Test {
public static void main(String[] args) {
MyRunnable r = new MyRunnable();
Thread t = new Thread(r);
t.start();
for (int i=0; i < 500; i++){
System.out.print('.');
}
}
}
Es ist voll von lokalen Variablen, also werde ich es weglassen.
java
class MyRunnable implements Runnable {
public void run(){
for (int i=0; i < 500; i++){
System.out.print('*');
}
}
}
public class Test {
public static void main(String[] args) {
new Thread(new MyRunnable()).start();
for (int i=0; i < 500; i++){
System.out.print('.');
}
}
}
Verwenden Sie eine anonyme Klasse, um beide zu einer zu kombinieren.
java
public class Test {
public static void main(String[] args) {
new Thread(new Runnable() {
public void run(){
for (int i=0; i < 500; i++){
System.out.print('*');
}
}
}).start();
for (int i=0; i < 500; i++){
System.out.print('.');
}
}
}
Eine Schnittstelle mit nur einer abstrakten Methode wird als "funktionale Schnittstelle" bezeichnet, da für jede Eingabe nur eine Ausgabe definiert wird. Ab Version 8 von Java können funktionale Schnittstellen durch eine spezielle Notation namens Lambda-Ausdrücke ersetzt werden.
Durch Lambda-Ausdruck ersetzen
java
public class Test {
public static void main(String[] args) {
new Thread(() -> {
for (int i=0; i < 500; i++){
System.out.print('*');
}
}).start();
for (int i=0; i < 500; i++){
System.out.print('.');
}
}
}
Recommended Posts