Java多線程繼承Thread類(lèi)詳解第2/2頁(yè)
同樣給大家分享下網(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(); }}簡(jiǎn)單講下繼承Thread類(lèi)
步驟:
a,定義類(lèi)繼承Thread類(lèi)。
b,覆蓋Thread類(lèi)中的run方法,將需要被多線程執(zhí)行的代碼定義到該run方法當(dāng)中。
c,建立Thread類(lèi)的子類(lèi)創(chuàng)建線程對(duì)象。
d,調(diào)用start方法,開(kāi)啟線程并調(diào)用該線程的run方法。
下面有個(gè)示例來(lái)讓你直觀的了解怎么用繼承Thread類(lèi)的方式來(lái)創(chuàng)建線程。
/* * 示例:創(chuàng)建三個(gè)線程,每過(guò)2秒打印一下線程的名稱(chēng),打印三次 */ public class Thread1 extends Thread{ private final int MAX = 3;//最大打印次數(shù) private int COUNT = 1;//計(jì)數(shù) private final int TIME = 2;//間隔時(shí)間 //接收線程名稱(chēng) public Thread1(String name) { super(name); } //覆蓋run方法,在里面寫(xiě)我們要執(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(); //開(kāi)啟線程 t2.start(); t3.start(); //也可以使用下面這種方式書(shū)寫(xiě) //new Thread1("線程4").start(); } }相關(guān)文章
MyBatis?詳細(xì)講解動(dòng)態(tài)?SQL的使用
動(dòng)態(tài)?SQL?是?MyBatis?的強(qiáng)大特性之一。如果你使用過(guò)?JDBC?或其它類(lèi)似的框架,你應(yīng)該能理解根據(jù)不同條件拼接?SQL?語(yǔ)句有多痛苦,例如拼接時(shí)要確保不能忘記添加必要的空格,還要注意去掉列表最后一個(gè)列名的逗號(hào)。利用動(dòng)態(tài)?SQL,可以徹底擺脫這種痛苦2022-04-04
java對(duì)象對(duì)比之comparable和comparator的區(qū)別
今天給大家?guī)?lái)的是關(guān)于Java的相關(guān)知識(shí),文章圍繞著comparable和comparator的區(qū)別展開(kāi),文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下2021-06-06
Java SpringMVC攔截器與異常處理機(jī)制詳解分析
SpringMVC是一種基于Java,實(shí)現(xiàn)了Web MVC設(shè)計(jì)模式,請(qǐng)求驅(qū)動(dòng)類(lèi)型的輕量級(jí)Web框架,即使用了MVC架構(gòu)模式的思想,將Web層進(jìn)行職責(zé)解耦?;谡?qǐng)求驅(qū)動(dòng)指的就是使用請(qǐng)求-響應(yīng)模型,框架的目的就是幫助我們簡(jiǎn)化開(kāi)發(fā),SpringMVC也是要簡(jiǎn)化我們?nèi)粘eb開(kāi)發(fā)2021-10-10
Springboot?HTTP如何調(diào)用其他服務(wù)
這篇文章主要介紹了Springboot?HTTP如何調(diào)用其他服務(wù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01
java中JVM中如何存取數(shù)據(jù)和相關(guān)信息詳解
這篇文章主要介紹了JVM中如何存取數(shù)據(jù)和相關(guān)信息詳解,Java源代碼文件(.java后綴)會(huì)被Java編譯器編譯為字節(jié)碼文件,然后由JVM中的類(lèi)加載器加載各個(gè)類(lèi)的字節(jié)碼文件,加載完畢之后,交由JVM執(zhí)行引擎執(zhí)行。JVM中怎么存取數(shù)據(jù)和相關(guān)信息呢?,需要的朋友可以參考下2019-06-06
springboot+thymeleaf找不到視圖的解決方案
這篇文章主要介紹了springboot+thymeleaf找不到視圖的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06

