欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java開(kāi)啟新線程并傳參方法代碼實(shí)現(xiàn)

 更新時(shí)間:2020年04月10日 09:11:28   作者:QianTLL  
這篇文章主要介紹了Java開(kāi)啟新線程并傳參方法代碼實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

一、繼承Thread類(lèi)

步驟:

1):定義一個(gè)類(lèi)A繼承于Java.lang.Thread類(lèi).

2):在A類(lèi)中覆蓋Thread類(lèi)中的run方法.

3):我們?cè)趓un方法中編寫(xiě)需要執(zhí)行的操作:run方法里的代碼,線程執(zhí)行體.

4):在main方法(線程)中,創(chuàng)建線程對(duì)象,并啟動(dòng)線程:

(1)創(chuàng)建線程類(lèi)對(duì)象: A類(lèi) a = new A類(lèi)();

(2)調(diào)用線程對(duì)象的start方法: a.start();//啟動(dòng)一個(gè)線程

注意:千萬(wàn)不要調(diào)用run方法,如果調(diào)用run方法好比是對(duì)象調(diào)用方法,依然還是只有一個(gè)線程,并沒(méi)有開(kāi)啟新的線程.

線程只能啟動(dòng)一次!

創(chuàng)建啟動(dòng)線程實(shí)例:

//1):定義一個(gè)類(lèi)A繼承于java.lang.Thread類(lèi). 
class MusicThread extends Thread{
  private String idNum;
  public MusicThread(String idNum) {
    this.idNum= idNum;
  }
  //2):在A類(lèi)中覆蓋Thread類(lèi)中的run方法. 
  public void run() { 
    //3):在run方法中編寫(xiě)需要執(zhí)行的操作
    System.out.println(idNum); 
  } 
} 
 
public class ExtendsThreadDemo {
  public static void main(String[] args) {
     //4):在main方法(線程)中,創(chuàng)建線程對(duì)象,并啟動(dòng)線程. 
     MusicThread music = new MusicThread("123456"); 
     music.start(); 
  } 
}

二、實(shí)現(xiàn)Runnable接口

步驟:

1):定義一個(gè)類(lèi)A實(shí)現(xiàn)于java.lang.Runnable接口,注意A類(lèi)不是線程類(lèi).

2):在A類(lèi)中覆蓋Runnable接口中的run方法.

3):我們?cè)趓un方法中編寫(xiě)需要執(zhí)行的操作:run方法里的,線程執(zhí)行體.

4):在main方法(線程)中,創(chuàng)建線程對(duì)象,并啟動(dòng)線程:

(1)創(chuàng)建線程類(lèi)對(duì)象: Thread t = new Thread(new A());

(2)調(diào)用線程對(duì)象的start方法: t.start();

創(chuàng)建啟動(dòng)線程實(shí)例:

//1):定義一個(gè)類(lèi)A實(shí)現(xiàn)于java.lang.Runnable接口,注意A類(lèi)不是線程類(lèi). 
class MusicImplements implements Runnable{
  private String idNum;
  public void setId(String idNum){
    this.idNum = idNum;
  }
  //2):在A類(lèi)中覆蓋Runnable接口中的run方法. 
  public void run() { 
    //3):在run方法中編寫(xiě)需要執(zhí)行的操作
    System.out.println(idNum);
  } 
} 
 
public class ImplementsRunnableDemo { 
  public static void main(String[] args) {
    //4):在main方法(線程)中,創(chuàng)建線程對(duì)象,并啟動(dòng)線程
    MusicImplements mi = new MusicImplements();
    mi.setId("123456");
    Thread t = new Thread(mi); 
    t.start();
  } 
}

繼承方式和實(shí)現(xiàn)方式的區(qū)別:

繼承方式:

1):從設(shè)計(jì)上分析,Java中類(lèi)是單繼承的,如果繼承了Thread了,該類(lèi)就不能再有其他的直接父類(lèi)了.
2):從操作上分析,繼承方式更簡(jiǎn)單,獲取線程名字也簡(jiǎn)單.(操作上,更簡(jiǎn)單)

String name = Thread.currentThread().getName();
3):從多線程共享同一個(gè)資源上分析,繼承方式不能做到.
實(shí)現(xiàn)方式:
1):從設(shè)計(jì)上分析,Java中類(lèi)可以多實(shí)現(xiàn)接口,此時(shí)該類(lèi)還可以繼承其他類(lèi),并且還可以實(shí)現(xiàn)其他接口,設(shè)計(jì)更為合理.
2):從操作上分析,實(shí)現(xiàn)方式稍微復(fù)雜點(diǎn),獲取線程名字也比較復(fù)雜,得使用Thread.currentThread()來(lái)獲取當(dāng)前線程的引用.

3):從多線程共享同一個(gè)資源上分析,實(shí)現(xiàn)方式可以做到(是否共享同一個(gè)資源).

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • JAVA遍歷一個(gè)文件夾中的所有文件的小例子

    JAVA遍歷一個(gè)文件夾中的所有文件的小例子

    在實(shí)際項(xiàng)目中給定一文件夾,得到這個(gè)文件夾下所有的文件這樣的需求并不是很多,更多的是查找或是刪除某一具體的文件
    2013-10-10
  • 學(xué)生視角看Java 面向?qū)ο蟮睦^承本質(zhì)

    學(xué)生視角看Java 面向?qū)ο蟮睦^承本質(zhì)

    繼承是java面向?qū)ο缶幊碳夹g(shù)的一塊基石,因?yàn)樗试S創(chuàng)建分等級(jí)層次的類(lèi)。繼承就是子類(lèi)繼承父類(lèi)的特征和行為,使得子類(lèi)對(duì)象(實(shí)例)具有父類(lèi)的實(shí)例域和方法,或子類(lèi)從父類(lèi)繼承方法,使得子類(lèi)具有父類(lèi)相同的行為
    2022-03-03
  • java異常處理機(jī)制示例(java拋出異常、捕獲、斷言)

    java異常處理機(jī)制示例(java拋出異常、捕獲、斷言)

    這篇文章主要介紹了java異常處理機(jī)制示例(java拋出異常、捕獲、斷言),需要的朋友可以參考下
    2014-05-05
  • Java 什么是注解及注解原理詳細(xì)介紹

    Java 什么是注解及注解原理詳細(xì)介紹

    這篇文章主要介紹了Java 注解的原理實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • java語(yǔ)言描述Redis分布式鎖的正確實(shí)現(xiàn)方式

    java語(yǔ)言描述Redis分布式鎖的正確實(shí)現(xiàn)方式

    這篇文章主要介紹了java語(yǔ)言描述Redis分布式鎖的正確實(shí)現(xiàn)方式,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12
  • 基于JVM性能監(jiān)控命令介紹

    基于JVM性能監(jiān)控命令介紹

    下面小編就為大家?guī)?lái)一篇基于JVM性能監(jiān)控命令介紹。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-09-09
  • Netty事件循環(huán)主邏輯NioEventLoop的run方法分析

    Netty事件循環(huán)主邏輯NioEventLoop的run方法分析

    這篇文章主要介紹了Netty事件循環(huán)主邏輯NioEventLoop的run方法分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-03-03
  • Java深入了解數(shù)據(jù)結(jié)構(gòu)之優(yōu)先級(jí)隊(duì)列(堆)

    Java深入了解數(shù)據(jù)結(jié)構(gòu)之優(yōu)先級(jí)隊(duì)列(堆)

    普通的隊(duì)列是一種先進(jìn)先出的數(shù)據(jù)結(jié)構(gòu),元素在隊(duì)列尾追加,而從隊(duì)列頭刪除。在優(yōu)先隊(duì)列中,元素被賦予優(yōu)先級(jí)。當(dāng)訪問(wèn)元素時(shí),具有最高優(yōu)先級(jí)的元素最先刪除。優(yōu)先隊(duì)列具有最高級(jí)先出 (first in, largest out)的行為特征。通常采用堆數(shù)據(jù)結(jié)構(gòu)來(lái)實(shí)現(xiàn)
    2022-01-01
  • Java ES(Elasticsearch) 中的and 和 or 查詢

    Java ES(Elasticsearch) 中的and 和 or 查

    Elasticsearch 是一個(gè)分布式、高擴(kuò)展、高實(shí)時(shí)的搜索與數(shù)據(jù)分析引擎,es中match查詢中,查詢字符串分詞后,默認(rèn)是or或者的關(guān)系,這篇文章主要介紹了ES 中的and 和 or 查詢,需要的朋友可以參考下
    2022-11-11
  • springboot 整合 seata的配置過(guò)程

    springboot 整合 seata的配置過(guò)程

    本文給大家介紹springboot 整合 seata的配置過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-08-08

最新評(píng)論