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)文章
MyBatis?詳細(xì)講解動態(tài)?SQL的使用
動態(tài)?SQL?是?MyBatis?的強(qiáng)大特性之一。如果你使用過?JDBC?或其它類似的框架,你應(yīng)該能理解根據(jù)不同條件拼接?SQL?語句有多痛苦,例如拼接時(shí)要確保不能忘記添加必要的空格,還要注意去掉列表最后一個(gè)列名的逗號。利用動態(tài)?SQL,可以徹底擺脫這種痛苦2022-04-04
java對象對比之comparable和comparator的區(qū)別
今天給大家?guī)淼氖顷P(guān)于Java的相關(guān)知識,文章圍繞著comparable和comparator的區(qū)別展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下2021-06-06
Java SpringMVC攔截器與異常處理機(jī)制詳解分析
SpringMVC是一種基于Java,實(shí)現(xiàn)了Web MVC設(shè)計(jì)模式,請求驅(qū)動類型的輕量級Web框架,即使用了MVC架構(gòu)模式的思想,將Web層進(jìn)行職責(zé)解耦。基于請求驅(qū)動指的就是使用請求-響應(yīng)模型,框架的目的就是幫助我們簡化開發(fā),SpringMVC也是要簡化我們?nèi)粘eb開發(fā)2021-10-10
Springboot?HTTP如何調(diào)用其他服務(wù)
這篇文章主要介紹了Springboot?HTTP如何調(diào)用其他服務(wù),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01
java中JVM中如何存取數(shù)據(jù)和相關(guān)信息詳解
這篇文章主要介紹了JVM中如何存取數(shù)據(jù)和相關(guān)信息詳解,Java源代碼文件(.java后綴)會被Java編譯器編譯為字節(jié)碼文件,然后由JVM中的類加載器加載各個(gè)類的字節(jié)碼文件,加載完畢之后,交由JVM執(zhí)行引擎執(zhí)行。JVM中怎么存取數(shù)據(jù)和相關(guān)信息呢?,需要的朋友可以參考下2019-06-06
springboot+thymeleaf找不到視圖的解決方案
這篇文章主要介紹了springboot+thymeleaf找不到視圖的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06

