如何使用多線程上廁所。表情包警告
在上一篇文章中,我們和以上廁所爲例子,優(e)雅(xin)的解釋了什麼是進程、線程、多線程以及爲什麼使用多線程。傳送門 那麼這一篇文章我們就來實際的看下如何使用多線程’拉shit’。
表情包警告!!!
創建線程的方式
- 1、實現Runnable
- 2、繼承Thread
有的小夥伴就要說了。爲什麼有兩種方式呢?這個我們用一個通俗而又優雅的方式來說。
上廁所(大)有幾種方式呢?
-
1、蹲着
-
2、坐着
-
3、站着
對吧,以上兩種方式都能夠解決我們的需求。
但是呢。
兩種方法沒有說是誰更舒服。
只是看個人習慣和場景來決定不同的方式而已,對吧。
一個人再怎麼強也不可能在蹲廁坐着大便是吧。
當然,如果你可以,很好,是在下輸了。🙏
ok,我們接着回來。我們下面就先分別來看下。兩種方式是如何創建線程的。
由於本篇文章右邊比較多的代碼解析。所以我們接下來進入正常模式。
表情包模式:off
正常模式:on
大哥你看看你的標題,還表情包模式:off
是不是不想活了。你不知道很多人都是來看圖的嗎?沒人看你的文章啦。
表情包模式:on
1、Runnable 創建線程
在創建線程之前,我們首先來看一下Runnable類。
@FunctionalInterface
public interface Runnable {
public abstract void run();
}
我們可以看到Runnable
類是一個接口,並且這個接口只有一個方法run
。
那麼我們使用Runnable
方法創建線程的方法就知道了
實現Runnable接口 -> 實現run方法
下面來看下具體代碼
// **注意** **注意** 實際的項目中最好不要使用中文拼音和英語所結合的命名,否則會出人命
// **注意** **注意** 實際的項目中最好不要使用中文拼音和英語所結合的命名,否則會出人命
// **注意** **注意** 實際的項目中最好不要使用中文拼音和英語所結合的命名,否則會出人命
// 實現Runnable類
public class LaShit implements Runnable {
// 實現run方法,並且在run方法裏面寫上線程執行的操作
public void run() {
System.out.println("我 la shit 了");
}
}
經過上面的代碼,我們的線程執行的內容就寫好了。
但是隻是定義好了執行的內容是沒有作用的
我們需要讓線程執行。讓線程跑起來
在這裏插入圖片描述
這是我們需要Thread類來執行線程了。
關於Thread類是什麼。我們目前只需要知道Thread是線程操作類,主管線程啓動、休眠、等等等操作。隨着後面的學習,我會慢慢的介紹。
下面我們看下代碼。
public static void main(String[] args) {
// 創建線程實例
LaShit laShit = new LaShit();
// 創建Thread線程操作類,並且放入線程
Thread thread = new Thread(laShit);
// 開啓線程
thread.start();
}
以上就是使用Runnable創建、啓動線程的方法。
這裏有的小夥伴就要問了。
“布丁、布丁,這樣是不是太麻煩了。每次都要創建Thread類。有沒有更簡單的方法呢?”
還真的的有。。
下面我們看下創建線程的第二種方法。
2、繼承Thread
Thread類是什麼,我們上面已經說了。廢話不多說,直接看代碼
// 繼承Thread類
public class LaShit extends Thread {
// 重寫run方法,並且在run方法中寫線程執行邏輯
@Override
public void run() {
System.out.println("我 La shit 了");
}
}
之前有小夥伴說使用Runnable的時候需要創建Thread然後下可以啓動線程,那麼我們現在繼承了Thread類之後,是不是可以直接啓動線程了呢?
小腦袋瓜真聰明。答案是可以的。
下面看代碼。
public static void main(String[] args) {
// 創建實體
LaShit laShit = new LaShit();、
// 啓動線程
laShit.start();
}
是不是感覺使用Thread創建啓動線程很方便啊?
但是,是有代價的。
- 1、因爲使用
Thread
是需要繼承的,那麼我們就無法再繼承其他的類了。但是使用方便 - 2、而我們實現
Runnable
接口的同時,也可以繼承或者實現其他類。但是使用麻煩。
兩種方法各自適用於不用的場景。所以如何使用兩種方式是要看具體的環境的。
以上就是本篇文章的所有內容了,如果有那裏不正確的歡迎小夥伴們留言告訴我。謝謝!!
祝天下程序員,頭髮多多、需求少少、工資多多、顏值高高。