溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎樣在Java中創(chuàng)建線程

發(fā)布時間:2021-05-19 16:22:36 來源:億速云 閱讀:98 作者:Leah 欄目:編程語言

這篇文章給大家介紹怎樣在Java中創(chuàng)建線程,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

Java實現(xiàn)并啟動線程有兩種方法

1、寫一個類繼承自Thread類,重寫run方法。用start方法啟動線程
2、寫一個類實現(xiàn)Runnable接口,實現(xiàn)run方法。用new Thread(Runnable target).start()方法來啟動

注意:start方法不是立即執(zhí)行多線程,而是使得該線程變?yōu)榫途w態(tài)(Runnable)

1.通過擴展Thread類來創(chuàng)建線程

(1)定義Thread類的子類,并重寫該類的run方法,該run方法的方法體就代表了線程要完成的任務。因此把run()方法稱為執(zhí)行體。

(2)創(chuàng)建Thread子類的實例,即創(chuàng)建了線程對象。

(3)調(diào)用線程對象的start()方法來啟動該線程。

public class MutliThreadDemo {
  public static void main(String[] args) {
    
    //創(chuàng)建Thread子類的實例,即創(chuàng)建了線程對象
    MutliTread mt1 = new MutliTread("Thread");
      
    //不立即執(zhí)行多線程代碼,而是使得該線程變?yōu)榫途w態(tài)(Runnable)
    mt1.start();
  }  
}

//通過擴展Thread類來創(chuàng)建線程
class MutliTread extends Thread{
  
  public MutliTread(String name) {
    this.setName(name);
    //或super(name)
  }
  public void run() {
    for(int i = 0; i < 10; i++) {
      System.out.println(Thread.currentThread().getName() + ":" + i);
    }  
  }
}

2.通過Runnable接口創(chuàng)建線程

(1)定義runnable接口的實現(xiàn)類,并實現(xiàn)該接口的run()方法,該run()方法的方法體同樣是該線程的線程執(zhí)行體。

(2)創(chuàng)建 Runnable實現(xiàn)類的實例,并依此實例作為Thread的target來創(chuàng)建Thread對象,該Thread對象才是真正的線程對象。

(3)調(diào)用線程對象的start()方法來啟動該線程。

public class MutliThreadDemo3 {
  
  public static void main(String[] args) {
     
    //創(chuàng)建一個Runnable接口實現(xiàn)類
    MutliTread3 m = new MutliTread3();
    
    //實例化線程對象
    Thread t1 = new Thread(m, "甲");
    Thread t2 = new Thread(m, "乙");
    Thread t3 = new Thread(m, "丙");
    t1.start();
    t2.start();
    t3.start();
  }  
}

class MutliTread3 implements Runnable{
  
  public void run() {
    for(int i = 0; i < 10; i++) {
      System.out.println(Thread.currentThread().getName() + ":" + i);
    }  
  }
}

當然第二種方法也可通過匿名內(nèi)部類或lambda表達式實現(xiàn),會更簡潔。以下通過Lambda表達式實現(xiàn)run方法:

public class MutliThreadDemo3 {
  
  public static void main(String[] args) {
    
    Runnable r = () -> {  
      for(int i = 0; i < 10; i++) {
        System.out.println(Thread.currentThread().getName() + ":" + i);
      }  
    };
    
    //實例化線程對象
    Thread t1 = new Thread(r, "甲");
    Thread t2 = new Thread(r, "乙");
    Thread t3 = new Thread(r, "丙");
    t1.start();
    t2.start();
    t3.start();
  }  
}

常用的java框架有哪些

1.SpringMVC,Spring Web MVC是一種基于Java的實現(xiàn)了Web MVC設計模式的請求驅(qū)動類型的輕量級Web框架。2.Shiro,Apache Shiro是Java的一個安全框架。3.Mybatis,MyBatis 是支持普通 SQL查詢,存儲過程和高級映射的優(yōu)秀持久層框架。4.Dubbo,Dubbo是一個分布式服務框架。5.Maven,Maven是個項目管理和構(gòu)建自動化工具。6.RabbitMQ,RabbitMQ是用Erlang實現(xiàn)的一個高并發(fā)高可靠AMQP消息隊列服務器。7.Ehcache,EhCache 是一個純Java的進程內(nèi)緩存框架。

關(guān)于怎樣在Java中創(chuàng)建線程就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI