Java 線程一 Thread類
通過繼承Thread類來實現,調用Thread.start();方法來啓動線程。
在調用start方法後,Java會啓動新線程來調用run方法,如果直接調用run方法,是不會啓動新線程的。
示例代碼如下:
public class Main {
public static void main(String[] args) {
new Main();
}
public Main(){
MyThread myThread = new MyThread();
myThread.start();
for(int i=0;i<10000;i++){
System.out.println("Good!");
}
}
public class MyThread extends Thread{
public void run(){
for(int i=0;i<10000;i++){
System.out.println("Nice!");
}
}
}
}
運行結果:
Good!Nice! 隨機交叉打印。
示例二:
public class Main {
public static void main(String[] args) {
new Main();
}
public Main(){
new MyThread("Good!").start();
new MyThread("Nice!").start();
}
public class MyThread extends Thread{
private String message;
public MyThread(String message){
this.message = message;
}
public void run(){
for(int i=0;i<10000;i++){
System.out.println(message);
}
}
}
}
運行結果與示例一相同:
Good!和Nice!隨機交叉運行。
Java 線程二 Runnable接口
示例代碼一:
public class Main {
public static void main(String[] args) {
new Main();
}
public Main(){
new Thread(new MyPrint("Good!")).start();
new Thread(new MyPrint("Nice!")).start();
}
public class MyPrint implements Runnable{
private String message;
public MyPrint(String message){
this.message = message;
}
public void run(){
for(int i=0;i<10000;i++){
System.out.println(message);
}
}
}
}
運行結果:
Good!和Nice!隨機交叉打印
Thread類 和 Runnable接口
Thread類本身也實現了Runnalbe接口,也有run方法,只不過Thread類的run方法主體是空的,通常被子類覆蓋 override。