麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

Java多線程的使用

2019-11-14 15:19:26
字體:
供稿:網(wǎng)友

java有兩種方式實現(xiàn)多線程。

 

 

第一種——繼承Thread類,并重寫run方法

 

步驟:

  1. 定義類繼承Thread類;
  2. 重寫子類的run方法,將線程需要執(zhí)行的代碼寫在run方法中;
  3. 創(chuàng)建子類的對象,則創(chuàng)建了線程對象;
  4. 調(diào)用該對象的start方法,開啟線程。

 

實例:

public class MyThread extends Thread() {    @Override    public void run() {        // 多線程代碼    }    // 其他代碼}
Thread t = new MyThread();t.start();

 

 

第二種——實現(xiàn)Runnable接口,用該類的對象構(gòu)造Thread類

 

步驟:

  1. 定義類實現(xiàn)Runnable接口;
  2. 實現(xiàn)接口中的run方法,將線程需要執(zhí)行的代碼寫在run方法中;
  3. 用接口對象構(gòu)造一個Thread對象;
  4. 調(diào)用Thread對象的start方法,開啟線程。

 

實例:

public class MyClass implements Runnable() {    public void run() {        // 多線程代碼    }    // 其他代碼}
MyClass m = new MyClass();Thread t = new Thread(m);t.start();

 

 

start方法的功能

  1. 啟動了線程
  2. 讓jvm調(diào)用了Thread類(或子類)對象的run方法

 

 

為什么可以有以上兩種方式實現(xiàn)多線程?

 

對于第一種方式很容易理解。由于重寫了Thread類的run方法,調(diào)用start方法啟動線程后,jvm將調(diào)用子類重寫的run方法;

對于第二種方式,調(diào)用start方法啟動線程后,jvm將調(diào)用Thread類的run方法,其代碼如下:

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

其中target為Thread類的成員變量,類型為Runnable。在用Runnable對象構(gòu)造Thread時,會使target引用該接口對象,所以執(zhí)行target.run()時,實際上執(zhí)行了接口對象的run方法。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 在线免费观看毛片 | av影院在线播放 | 国产美女做爰免费视 | 国产1区2区3区中文字幕 | 国产精品久久久久久久成人午夜 | 国产日韩亚洲 | 欧美精品1区 | 欧美日韩在线视频一区 | 中文字幕在线观看1 | 九九热久久免费视频 | 中文区中文字幕免费看 | 鲁丝片一区二区三区免费入口 | 黄色男女视频 | 欧美在线小视频 | 国产91大片 | 毛片韩国 | 国产一区二区视频精品 | 一级全毛片 | qyl在线视频精品免费观看 | 亚洲第一视频 | 国产成年人网站 | 色毛片| 污片在线观看视频 | 性 毛片 | 亚洲第一综合 | 毛片大全免费看 | 亚欧美一区二区 | 日本免费一区二区三区四区 | 91九色精品国产 | 成人在线视频在线观看 | 国内精品伊人久久久久网站 | 特级无码毛片免费视频尤物 | 老司机免费福利午夜入口ae58 | 午夜视频播放 | 免费午夜视频 | 久久久精品视频免费 | 高清国产午夜精品久久久久久 | 国产亚洲精品美女久久久 | 色综合激情 | 亚洲欧美日韩免费 | 99爱视频|