Java多線程繼承Thread類詳解第2/2頁
更新時間:2016年06月19日 15:46:59 投稿:hebedich
Java多線程的兩種實現(xiàn)方式:繼承Thread類 & 實現(xiàn)Runable接口,今天我們來學習下繼承Thread類,希望大家能夠喜歡
同樣給大家分享下網(wǎng)友的實例
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方法當中。
c,建立Thread類的子類創(chuàng)建線程對象。
d,調(diào)用start方法,開啟線程并調(diào)用該線程的run方法。
下面有個示例來讓你直觀的了解怎么用繼承Thread類的方式來創(chuàng)建線程。
/* * 示例:創(chuàng)建三個線程,每過2秒打印一下線程的名稱,打印三次 */ public class Thread1 extends Thread{ private final int MAX = 3;//最大打印次數(shù) private int COUNT = 1;//計數(shù) private final int TIME = 2;//間隔時間 //接收線程名稱 public Thread1(String name) { super(name); } //覆蓋run方法,在里面寫我們要執(zhí)行的代碼 public void run() { while(COUNT<= MAX){ System.out.println(this.getName()); COUNT++; //每次打印后,在一段時間后再打印 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(); } }
相關文章
Java中的synchronized和ReentrantLock的區(qū)別詳細解讀
這篇文章主要介紹了Java中的synchronized和ReentrantLock的區(qū)別詳細解讀,synchronized是Java內(nèi)建的同步機制,所以也有人稱其為 IntrinsicLocking,它提供了互斥的語義和可見性,當一個線程已經(jīng)獲取當前鎖時,其他試圖獲取的線程只能等待或者阻塞在那里,需要的朋友可以參考下2024-01-01Java 多線程并發(fā)編程_動力節(jié)點Java學院整理
這篇文章主要介紹了Java 多線程并發(fā)編程的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-05-05