成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

創(chuàng)建并使用線程

BlackMass / 325人閱讀

摘要:創(chuàng)建并使用線程兩種方式,創(chuàng)建新的線程實(shí)現(xiàn)接口,接口定義了一個(gè)方法。注意,兩個(gè)例子均調(diào)用了去創(chuàng)建一個(gè)新的線程這兩種方式,該選哪一種實(shí)現(xiàn)接口,是常用的創(chuàng)建新線程的方式。缺點(diǎn)是,無法繼承其它類建議使用第一種。

創(chuàng)建并使用線程

兩種方式,創(chuàng)建新的線程:

實(shí)現(xiàn) Runnable 接口,Runnable 接口定義了一個(gè)方法:run。run 方法中的代碼,將在創(chuàng)建的線程中執(zhí)行。實(shí)現(xiàn)了 Runnable 接口的對象,作為 Thread 構(gòu)造方法的參數(shù)。

public class HelloRunnable implements Runnable {

    public void run() {
        System.out.println("Hello from a thread!");
    }

    public static void main(String args[]) {
        (new Thread(new HelloRunnable())).start();
    }

}

繼承 Thread。Thread 類實(shí)現(xiàn)了 Runnable 接口,盡管它的 run 方法內(nèi)什么也沒有。一個(gè)類可以繼承自 Thread,并重寫 run 方法。

public class HelloThread extends Thread {

    public void run() {
        System.out.println("Hello from a thread!");
    }

    public static void main(String args[]) {
        (new HelloThread()).start();
    }

}

注意,兩個(gè)例子均調(diào)用了 Thread.start 去創(chuàng)建一個(gè)新的線程

這兩種方式,該選哪一種?

實(shí)現(xiàn) Runnable 接口,是常用的創(chuàng)建新線程的方式。

實(shí)現(xiàn) Runnable 接口的類,可以繼承自其它的類,而不僅僅是 Thread。更加靈活。

適用于一些高階線程管理的 APIs

繼承 Thread,用起來似乎更加簡單一點(diǎn)。缺點(diǎn)是,無法繼承其它類 (java)

建議使用第一種。

參考資料

Defining and Starting a Thread

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/65197.html

相關(guān)文章

  • JAVA 多線程發(fā)基礎(chǔ)面試問答

    摘要:多線程和并發(fā)問題是技術(shù)面試中面試官比較喜歡問的問題之一。線程可以被稱為輕量級進(jìn)程。一個(gè)守護(hù)線程是在后臺執(zhí)行并且不會(huì)阻止終止的線程。其他的線程狀態(tài)還有,和。上下文切換是多任務(wù)操作系統(tǒng)和多線程環(huán)境的基本特征。 多線程和并發(fā)問題是 Java 技術(shù)面試中面試官比較喜歡問的問題之一。在這里,從面試的角度列出了大部分重要的問題,但是你仍然應(yīng)該牢固的掌握J(rèn)ava多線程基礎(chǔ)知識來對應(yīng)日后碰到的問題。(...

    dreamans 評論0 收藏0
  • JAVA 多線程發(fā)基礎(chǔ)

    摘要:線程可以被稱為輕量級進(jìn)程。一個(gè)守護(hù)線程是在后臺執(zhí)行并且不會(huì)阻止終止的線程。其他的線程狀態(tài)還有,和。上下文切換是多任務(wù)操作系統(tǒng)和多線程環(huán)境的基本特征。在的線程中并沒有可供任何對象使用的鎖和同步器。 原文:Java Multi-Threading and Concurrency Interview Questions with Answers 翻譯:并發(fā)編程網(wǎng) - 鄭旭東 校對:方騰飛 多...

    vboy1010 評論0 收藏0
  • Java 多線程

    摘要:當(dāng)一個(gè)程序運(yùn)行時(shí),內(nèi)部可能包含了多個(gè)順序執(zhí)行流,每個(gè)順序執(zhí)行流就是一個(gè)線程所有運(yùn)行中的任務(wù)通常對應(yīng)一個(gè)進(jìn)程。線程也被稱作輕量級進(jìn)程,線程是進(jìn)程的執(zhí)行單元。在線程的生命周期中,它要經(jīng)過新 線程概述 線程和進(jìn)程 幾乎所有的操作系統(tǒng)都支持同時(shí)運(yùn)行多個(gè)任務(wù),一個(gè)任務(wù)通常就是一個(gè)程序,每個(gè)運(yùn)行中的程序就是一個(gè)進(jìn)程。當(dāng)一個(gè)程序運(yùn)行時(shí),內(nèi)部可能包含了多個(gè)順序執(zhí)行流,每個(gè)順序執(zhí)行流就是一個(gè)線程 所有運(yùn)...

    zorro 評論0 收藏0
  • 線程總結(jié)

    摘要:一個(gè)進(jìn)程可以擁有多個(gè)線程,一個(gè)線程必須有一個(gè)父進(jìn)程。線程是獨(dú)立運(yùn)行的,它并不知道進(jìn)程中是否還有其他的線程存在。線程的調(diào)度和管理由進(jìn)程本身負(fù)責(zé)完成。因此多線程實(shí)現(xiàn)多任務(wù)并發(fā)比多線程的效率高。 ??一個(gè)任務(wù)通常就是一個(gè)程序,每個(gè)運(yùn)行中的程序就是一個(gè)進(jìn)程。當(dāng)一個(gè)程序運(yùn)行時(shí),內(nèi)部可能包含了多個(gè)順序執(zhí)行流,每個(gè)順序執(zhí)行流就是一個(gè)線程。 進(jìn)程 定義: ??當(dāng)一個(gè)程序進(jìn)入內(nèi)存運(yùn)行時(shí),即變成一個(gè)進(jìn)程。...

    justCoding 評論0 收藏0
  • java發(fā)編程學(xué)習(xí)3--線程

    摘要:線程池為了節(jié)省系統(tǒng)在多線程并發(fā)時(shí)不斷創(chuàng)建和銷毀線程帶來的額外開銷,就需要引入線程池。其中表示一個(gè)線程池。表示一個(gè)線程工廠,通過可以取得一個(gè)特定功能的線程池。創(chuàng)建固定數(shù)目線程的線程池。默認(rèn)情況下,在創(chuàng)建了線程池后,線程池中的線程數(shù)為。 【線程池 為了節(jié)省系統(tǒng)在多線程并發(fā)時(shí)不斷創(chuàng)建和銷毀線程帶來的額外開銷,就需要引入線程池。線程池的基本功能就是進(jìn)行線程的復(fù)用。當(dāng)系統(tǒng)接受一個(gè)提交的任務(wù)時(shí),并...

    anyway 評論0 收藏0
  • @Java | Thread & synchronized - [ 多線程 基本使用]

    摘要:線程線程是進(jìn)程中的一個(gè)實(shí)體,作為系統(tǒng)調(diào)度和分派的基本單位。下的線程看作輕量級進(jìn)程。因此,使用的目的是讓相同優(yōu)先級的線程之間能適當(dāng)?shù)妮嗈D(zhuǎn)執(zhí)行。需要注意的是,是線程自己從內(nèi)部拋出的,并不是方法拋出的。 本文及后續(xù)相關(guān)文章梳理一下關(guān)于多線程和同步鎖的知識,平時(shí)只是應(yīng)用層面的了解,由于最近面試總是問一些原理性的知識,雖說比較反感這種理論派,但是為了生計(jì)也必須掌握一番。(PS:并不是說掌握原理不...

    zhunjiee 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<