国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java多線程的使用

2019-11-14 15:19:26
字體:
來源:轉載
供稿:網友

java有兩種方式實現多線程。

 

 

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

 

步驟:

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

 

實例:

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

 

 

第二種——實現Runnable接口,用該類的對象構造Thread類

 

步驟:

  1. 定義類實現Runnable接口;
  2. 實現接口中的run方法,將線程需要執行的代碼寫在run方法中;
  3. 用接口對象構造一個Thread對象;
  4. 調用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調用了Thread類(或子類)對象的run方法

 

 

為什么可以有以上兩種方式實現多線程?

 

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

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

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

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 贵阳市| 昭通市| 江孜县| 通榆县| 义马市| 项城市| 永胜县| 建宁县| 曲松县| 临江市| 会同县| 朝阳区| 丰城市| 藁城市| 涿州市| 福安市| 商河县| 酉阳| 龙江县| 泗洪县| 准格尔旗| 宁化县| 二手房| 内江市| 即墨市| 壤塘县| 伊春市| 诸城市| 社会| 阿坝| 邢台市| 合水县| 凌源市| 苍溪县| 屯昌县| 临朐县| 屯门区| 周宁县| 文昌市| 新乐市| 舒城县|