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

JAVA實現(xiàn)多線程的兩種方法實例分享

 更新時間:2013年08月12日 11:30:34   作者:  
這篇文章介紹了JAVA實現(xiàn)多線程的兩種方法實例分享,有需要的朋友可以參考一下
java語言已經(jīng)內(nèi)置了多線程支持,所有實現(xiàn)Runnable接口的類都可被啟動一個新線程,新線程會執(zhí)行該實例的run()方法,當run()方法執(zhí)行完畢后,線程就結(jié)束了。一旦一個線程執(zhí)行完畢,這個實例就不能再重新啟動,只能重新生成一個新實例,再啟動一個新線程。
  Thread類是實現(xiàn)了Runnable接口的一個實例,它代表一個線程的實例,并且,啟動線程的唯一方法就是通過Thread類的start()實例方法:
復(fù)制代碼 代碼如下:

  Thread t = new Thread();
  t.start();

  start()方法是一個native方法,它將啟動一個新線程,并執(zhí)行run()方法。Thread類默認的run()方法什么也不做就退出了。注意:直接調(diào)用run()方法并不會啟動一個新線程,它和調(diào)用一個普通的java方法沒有什么區(qū)別。
  因此,有兩個方法可以實現(xiàn)自己的線程:
  方法1:自己的類extend Thread,并復(fù)寫run()方法,就可以啟動新線程并執(zhí)行自己定義的run()方法。例如:
復(fù)制代碼 代碼如下:

  public class MyThread extends Thread {
  public run() {
  System.out.println("MyThread.run()");
  }
  }

  在合適的地方啟動線程:new MyThread()。start();
  方法2:如果自己的類已經(jīng)extends另一個類,就無法直接extends Thread,此時,必須實現(xiàn)一個Runnable接口:
復(fù)制代碼 代碼如下:

  public class MyThread extends OtherClass implements Runnable {
  public run() {
  System.out.println("MyThread.run()");
  }
  }

  為了啟動MyThread,需要首先實例化一個Thread,并傳入自己的MyThread實例:
復(fù)制代碼 代碼如下:

  MyThread myt = new MyThread();
  Thread t = new Thread(myt);
  t.start();

  事實上,當傳入一個Runnable target參數(shù)給Thread后,Thread的run()方法就會調(diào)用target.run(),參考JDK源代碼:
復(fù)制代碼 代碼如下:

  public void run() {
  if (target != null) {
  target.run();
  }
  }

相關(guān)文章

  • IDEA整合Dubbo+Zookeeper+SpringBoot實現(xiàn)

    IDEA整合Dubbo+Zookeeper+SpringBoot實現(xiàn)

    初學者,想自己動手做一個簡單的demo,本文主要介紹了IDEA整合Dubbo+Zookeeper+SpringBoot實現(xiàn),需要的朋友們下面隨著小編來一起學習學習吧
    2021-06-06
  • 二叉排序樹的實現(xiàn)與基本操作

    二叉排序樹的實現(xiàn)與基本操作

    二叉排序樹又稱二叉查找樹。本文主要對二叉排序樹的實現(xiàn)與基本操作進行詳細介紹,以下代碼實現(xiàn)了:1、二叉樹的構(gòu)建;2、二叉樹的中、前、后、層序遍歷;3、二叉樹中結(jié)點的最大距離。下面就跟著小編一起來看下吧
    2016-12-12
  • Eclipse 出現(xiàn)Failed to load JavaHL Library解決方法

    Eclipse 出現(xiàn)Failed to load JavaHL Library解決方法

    這篇文章主要介紹了Eclipse 出現(xiàn)Failed to load JavaHL Library解決方法的相關(guān)資料,今天使用Eclipse 時出現(xiàn)以上錯誤,本文說明如何更更正,需要的朋友可以參考下
    2016-11-11
  • javascript checkbox全選和反選的簡單實現(xiàn)

    javascript checkbox全選和反選的簡單實現(xiàn)

    這篇文章主要介紹了javascript checkbox全選和反選的簡單實現(xiàn)的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • GC算法實現(xiàn)垃圾優(yōu)先算法

    GC算法實現(xiàn)垃圾優(yōu)先算法

    為什么會存在那么多的垃圾回收算法呢?我想這個問題的答案可能是沒有任何一種內(nèi)存回收算法是完美的,所以在針對不同的情景需求下,不同的內(nèi)存回收算法有其獨特的優(yōu)勢,所以最后就延續(xù)了多種回收算法
    2022-01-01
  • Spring MVC的文件上傳和下載以及攔截器的使用實例

    Spring MVC的文件上傳和下載以及攔截器的使用實例

    這篇文章主要介紹了Spring MVC的文件上傳和下載以及攔截器的使用實例,具有一定的參考價值,有興趣的可以了解一下
    2017-08-08
  • Java 輸入多行字符串或者多個int數(shù)值的方法

    Java 輸入多行字符串或者多個int數(shù)值的方法

    今天小編就為大家分享一篇Java 輸入多行字符串或者多個int數(shù)值的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • 一文總結(jié) Shiro 實戰(zhàn)教程

    一文總結(jié) Shiro 實戰(zhàn)教程

    shiro是apache的一個開源框架,是一個權(quán)限管理的框架,實現(xiàn) 用戶認證、用戶授權(quán),這篇文章詳細總結(jié)了shiro用法,感興趣的同學可以參考閱讀
    2023-04-04
  • SpringBoot自定義轉(zhuǎn)換器用法詳解

    SpringBoot自定義轉(zhuǎn)換器用法詳解

    在SpringBoot中,轉(zhuǎn)換器用于將一個類型的值轉(zhuǎn)換為另一個類型,這在處理HTTP請求參數(shù)、響應(yīng)結(jié)果、表單數(shù)據(jù)等方面非常有用,SpringBoot提供了多種方式來定義和使用轉(zhuǎn)換器,本文給大家介紹了
    如何使用SpringBoot自定義轉(zhuǎn)換器,需要的朋友可以參考下
    2023-08-08
  • Java(springboot) 讀取txt文本內(nèi)容代碼實例

    Java(springboot) 讀取txt文本內(nèi)容代碼實例

    這篇文章主要介紹了Java(springboot) 讀取txt文本內(nèi)容代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02

最新評論