Java多線程繼承Thread類詳解第2/2頁
同樣給大家分享下網(wǎng)友的實(shí)例
package JavaThread;class firstThread extends Thread{ private String name = null; public firstThread(String str) { this.name = str; } public void run() { for(int i=1;i<=3;i++) { System.out.println("線程"+this.name+"第"+i +"執(zhí)行"); try { Thread.sleep(50); } catch (InterruptedException e) { e.printStackTrace(); } } }}class secondThread extends Thread{ private String name = null; public secondThread(String s) { this.name = s; } public void run() { for(int i=1;i<=3;i++) { System.out.println("線程"+this.name+"第"+i +"執(zhí)行"); try { Thread.sleep(50); Thread.yield(); } catch (InterruptedException e) { e.printStackTrace(); } } }}public class TestThread{ public static void main(String[] args) { firstThread p = new firstThread("first"); secondThread pth = new secondThread("second"); p.setPriority(4); pth.setPriority(9); p.start(); pth.start(); }}
簡單講下繼承Thread類
步驟:
a,定義類繼承Thread類。
b,覆蓋Thread類中的run方法,將需要被多線程執(zhí)行的代碼定義到該run方法當(dāng)中。
c,建立Thread類的子類創(chuàng)建線程對象。
d,調(diào)用start方法,開啟線程并調(diào)用該線程的run方法。
下面有個(gè)示例來讓你直觀的了解怎么用繼承Thread類的方式來創(chuàng)建線程。
/* * 示例:創(chuàng)建三個(gè)線程,每過2秒打印一下線程的名稱,打印三次 */ public class Thread1 extends Thread{ private final int MAX = 3;//最大打印次數(shù) private int COUNT = 1;//計(jì)數(shù) private final int TIME = 2;//間隔時(shí)間 //接收線程名稱 public Thread1(String name) { super(name); } //覆蓋run方法,在里面寫我們要執(zhí)行的代碼 public void run() { while(COUNT<= MAX){ System.out.println(this.getName()); COUNT++; //每次打印后,在一段時(shí)間后再打印 try { Thread.sleep(TIME*1000); } catch (InterruptedException e) { e.printStackTrace(); } } } public static void main(String[] args) { Thread1 t1 = new Thread1("線程1");//創(chuàng)建線程 Thread1 t2 = new Thread1("線程2"); Thread1 t3 = new Thread1("線程3"); t1.start(); //開啟線程 t2.start(); t3.start(); //也可以使用下面這種方式書寫 //new Thread1("線程4").start(); } }
相關(guān)文章
maven項(xiàng)目打包如何去掉不需要的module
文章總結(jié):在my-project工程依賴my-core和my-common,且my-project在總工程AAA中時(shí),建議通過以下兩種方案優(yōu)化打包流程:1.?使用pom區(qū)分,重新編寫pom文件,并指定需要重新編譯的工程到modules中,然后在編譯時(shí)指定pom文件;2024-12-12Java中的synchronized和ReentrantLock的區(qū)別詳細(xì)解讀
這篇文章主要介紹了Java中的synchronized和ReentrantLock的區(qū)別詳細(xì)解讀,synchronized是Java內(nèi)建的同步機(jī)制,所以也有人稱其為 IntrinsicLocking,它提供了互斥的語義和可見性,當(dāng)一個(gè)線程已經(jīng)獲取當(dāng)前鎖時(shí),其他試圖獲取的線程只能等待或者阻塞在那里,需要的朋友可以參考下2024-01-01springboot實(shí)現(xiàn)圖片上傳與下載功能
這篇文章主要為大家詳細(xì)介紹了后端spring項(xiàng)目經(jīng)常要做的功能,實(shí)現(xiàn)圖片上傳和下載,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-12-12Java實(shí)現(xiàn)更新順序表中的指定元素的示例
本文主要介紹了Java實(shí)現(xiàn)更新順序表中的指定元素的示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06Java 多線程并發(fā)編程_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了Java 多線程并發(fā)編程的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-05-05