開頭:本節只講使用java來達到開啟線程的目的
使用簡單線程的三種方法
第一種,繼承Thread,重寫run
代碼
class TestThread extends Thread {
@Override
public void run() {
/*
邏輯代碼
*/
}
}
然后new TestThread().start();這樣就會在開辟出來的線程中執行run方法,如果想讓run方法一直執行,需要在run中加上while(true)
采用繼承的方式,耦合度高一些
第二種,實現Runnable
代碼
class TestThread implements Runnable {
@Override
public void run() {
/*
邏輯代碼
*/
}
}
然后new Thread(new TestThread()).start();
注意的是這里實際上是new TestThread()這個實現Runnable的類,然后把這個類傳入Thread
看一下源碼可以知道,內部保存TestThread,然后默認的Thread run方法執行TestThread的run方法
第三種匿名類的方式
代碼
new Thread(new Runnable() {
@Override
public void run() {
/*
邏輯代碼
*/
}
}).start();
第四種,使用lamba
代碼
new Thread(()->{
/*
邏輯代碼
*/
}).start();
不得不說,lamba還真是方便