黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 Java學(xué)習(xí) Java實(shí)現(xiàn)多線程的方法

Java實(shí)現(xiàn)多線程的方法

更新時(shí)間:2022-12-19 11:57:29 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1317次

動(dòng)力節(jié)點(diǎn)小編來(lái)告訴大家Java實(shí)現(xiàn)多線程的三種方式,供大家參考,具體內(nèi)容如下

import java.util.concurrent.Callable;
import java.util.concurrent.FutureTask; 
public class Main { 
  public static void main(String[] args) {
    //方法一:繼承Thread
    int i = 0;
//    for(; i < 100; i++){
//      System.out.println(Thread.currentThread().getName() + " " + i);
//      if (i == 5) {
//        ThreadExtendsThread threadExtendsThread = new ThreadExtendsThread();
//        threadExtendsThread.start();
//      }
//    }     
    //方法二:實(shí)現(xiàn)Runnable
//    for(i = 0; i < 100; i++){
//      System.out.println(Thread.currentThread().getName() + " " + i);
//      if (i == 5) {
//        Runnable runnable = new ThreadImplementsRunnable();
//        new Thread(runnable).start();
//        new Thread(runnable).start();
//      }
//    } 
    //方法三:實(shí)現(xiàn)Callable接口
    Callable<Integer> callable = new ThreadImplementsCallable();
    FutureTask<Integer> futureTask = new FutureTask<>(callable);
    for(i = 0; i < 100; i++){
      System.out.println(Thread.currentThread().getName() + " " + i);
      if (i == 5) {
        new Thread(futureTask).start();
        new Thread(futureTask).start();
      }
    }
    try {
      System.out.println("futureTask ruturn: " + futureTask.get());
    } catch (Exception e) {
      e.printStackTrace();
    }
  } 
}

方法一,繼承自Thread

public class ThreadExtendsThread extends Thread {
  private int i;
  @Override
  public void run() {
    for(; i < 100; i++) {
      System.out.println(getName() + " " + i); 
    }
  }
}

run方法為線程執(zhí)行體,ThreadExtendsThread對(duì)象即為線程對(duì)象。

方法二,實(shí)現(xiàn)Runnable接口

public class ThreadImplementsRunnable implements Runnable {
  private int i;
  @Override
  public void run() {
    for(; i < 100; i++){
      System.out.println(Thread.currentThread().getName() + " " + i);
    }
  }
}

run方法為線程執(zhí)行體,使用時(shí)New一個(gè)Thread對(duì)象,Runnable對(duì)象作為target傳遞給Thread對(duì)象。且同一個(gè)Runnable對(duì)象可作為多個(gè)Thread的target,這些線程均共享Runnable對(duì)象的實(shí)例變量。

方法三,實(shí)現(xiàn)Callable接口

import java.util.concurrent.Callable;
public class ThreadImplementsCallable implements Callable<Integer> {
  private int i;   
  @Override
  public Integer call() throws Exception {
    for(; i < 100; i++){
      System.out.println(Thread.currentThread().getName() + " " + i);
    }
    return i;
  }
}

Callable接口類似于Runnable接口,但比對(duì)方強(qiáng)大,線程執(zhí)行體為call方法,該方法具有返回值和可拋出異常。使用時(shí)將Callable對(duì)象包裝為FutureTask對(duì)象,通過泛型指定返回值類型。可稍候調(diào)用FutureTask的get方法取回執(zhí)行結(jié)果。

提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 成年人在线免费观看视频网站 | 永久在线毛片免费观看 | 国产免费高清在线精品一区 | www.好吊色| 最近更新2019中文国语字幕 | 欧美日韩国产专区 | 成人精品一区二区www | 成人av在线播放 | 色网站视频| 91短视频在线观看免费最新 | 成年网站在线观看视频 | 国内欧美一区二区三区 | 亚洲欧美94色 | 亚洲成精品动漫久久精久 | 亚洲狠狠婷婷综合久久久图片 | 青草香蕉视频 | 中文字幕欧美视频 | 亚洲毛片网 | 草久久网 | 欧美区视频 | 波多野结衣中文字幕在线 | 五月综合激情视频在线观看 | 26uuu欧美| 欧美精品日韩一区二区三区 | 97视频在线观看免费播放 | 美女视频黄频免费大全软件 | 波多野结衣在线视频播放 | 一级特黄女人生活片 | 额去鲁97在线观看视频 | 亚洲图片欧美色图 | 2020在线不卡观看视频 | 日日狠狠太爽爽 | 18性夜影院午夜寂寞影院免费 | 亚洲一区二区三区中文字幕 | 一级毛片在播放免费 | 一级片免费的 | 成人在线观看国产 | yy4080午夜一毛片 | 中国在线播放精品区 | 日本黄色免费在线 | 人人艹在线视频 |