一共有兩種方法Thread類和Runnable接口,相對來講,更趨向于用Runnable
因為一個類可以實作多個接口,但是隻能繼承一個類,是以相對來說傾向用Runnable
第一種方法:用Thread
其實就是對父類Thread的繼承和重寫裡面的方法
基本的思路還是java的繼承多态思想
首先就是自己寫一個類,繼承Thread類,并重寫run()方法
然後在調用函數中實作自己寫的類,調用star()方法
注:調用start()方法實作多線程,調用run()方法,是單線程的
public class FirstThread extends Thread{
public void run(){
for(int i=1;i<100;i++){
System.out.println("first Thread——>"+i);
}
}
}
public class main {
public static void main(String[] args) {
FirstThread ft=new FirstThread();
ft.start();
for(int i=0;i<100;i++){
System.out.println("main——>"+i);
}
}
}
第二種方法:用Runnable
其實就是對接口Runnable的實作
首先實作自己寫的類,
然後生成Thread對象,并将接口對象作為參數
最後開始線程
public class runable implements Runnable {
@Override
public void run() {
for(int i=1;i<100;i++){
System.out.println("first Runnable——>"+i);
}
}
}
public class main {
public static void main(String[] args) {
//實作接口
runable ra=new runable();
//生成Thread對象,并将接口對象作為參數
Thread t=new Thread(ra);
//開始多線程
t.start();
for(int i=0;i<100;i++){
System.out.println("main——>"+i);
}
}
}