久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

一張圖搞定Java線程,,通過Thread類創(chuàng)建線程

 otokaze 2017-06-18

線程是Java學(xué)習(xí)中的一個重點(diǎn),、難點(diǎn)了,小編今天和大家分享怎么樣學(xué)Java線程即簡單又能理解深刻,。

一張圖搞定Java線程,,通過Thread類創(chuàng)建線程

Java線程的知識結(jié)構(gòu)圖


基本概念

進(jìn)程:程序的執(zhí)行過程。持有資源(共享內(nèi)存,、共享文件)和線程,。

線程

- 是一個程序內(nèi)部的順序控制流。

- 它包含在進(jìn)程之中,,是系統(tǒng)中最小執(zhí)行單元,,同一個進(jìn)程可以有多個線程。

- 線程共享進(jìn)程的資源,。

線程和進(jìn)程對比

- 每個進(jìn)程都有獨(dú)立的代碼和數(shù)據(jù)空間(進(jìn)程上下文),,進(jìn)程切換的開銷大。

- 線程:輕量的進(jìn)程,,同一類線程共享代碼和數(shù)據(jù)空間,,每個線程有獨(dú)立的運(yùn)行棧和程序計數(shù)器(PC),線程切換的開銷小,。

多進(jìn)程:在操作系統(tǒng)中,,能同時運(yùn)行多個任務(wù)(程序)。

多線程:在同一應(yīng)用程序中,,有多個順序流同時執(zhí)行,。

線程的交互:

一張圖搞定Java線程,通過Thread類創(chuàng)建線程

通過Thread類創(chuàng)建線程


Thread類

直接繼承了Object類,,并實現(xiàn)了Runnable接口,。位于java.lang包中。

封裝了線程對象需要的屬性和方法

繼承Thread類——創(chuàng)建多線程的方法之一

- 繼承Thread類(從Thread類派生一個子類,,并創(chuàng)建子類的對象)

- 子類應(yīng)該重寫Thread類的run方法,,寫入需要在新線程中執(zhí)行的語句段

- 調(diào)用start方法來啟動新線程,自動進(jìn)入run方法

一張圖搞定Java線程,,通過Thread類創(chuàng)建線程

一張圖搞定Java線程,,通過Thread類創(chuàng)建線程

執(zhí)行結(jié)果:

主線程開啟

主線程結(jié)束

新線程開啟

10:3628800

新線程結(jié)束

結(jié)果說明:

(1)main線程已經(jīng)執(zhí)行完后,新線程才開始執(zhí)行完

(2)main方法調(diào)用thread.start()方法啟動新線程后并不等待其run方法返回就繼續(xù)運(yùn)行,,線程的run方法在一邊獨(dú)自運(yùn)行,,不影響原來的main方法的運(yùn)行



線程的休眠

線程休眠的原因就是要讓其他線程得到執(zhí)行的機(jī)會。

如果啟動新線程后希望主線程多持續(xù)一會再結(jié)束,可在start語句后加上讓當(dāng)前線程(這里當(dāng)然是main)休眠1毫秒的語句,。

一張圖搞定Java線程,,通過Thread類創(chuàng)建線程

執(zhí)行結(jié)果:

主線程開啟

新線程開啟

10:3628800

新線程結(jié)束

主線程結(jié)束

案例2:開啟三個線程,每個線程休眠0~6毫秒

一張圖搞定Java線程,,通過Thread類創(chuàng)建線程

一張圖搞定Java線程,,通過Thread類創(chuàng)建線程

執(zhí)行結(jié)果:

開啟線程

主線程結(jié)束

thread1準(zhǔn)備休眠:2081

thread3準(zhǔn)備休眠:5298

thread2準(zhǔn)備休眠:2812

thread1休眠結(jié)束

thread2休眠結(jié)束

thread3休眠結(jié)束

說明:由于線程3休眠時間最長,所以最后結(jié)束,,線程1休眠時間最短,,所以最先結(jié)束。


學(xué)習(xí)檢測

1,、下列說法中錯誤的一項是

一個線程是一個Thread類的實例

線程從傳遞給純種的Runnable實例run()方法開始執(zhí)行

線程操作的數(shù)據(jù)來自Runnable實例

新建的線程調(diào)用start()方法就能立即進(jìn)入運(yùn)行狀態(tài) 新建的線程調(diào)用start()方法就能立即進(jìn)入運(yùn)行狀態(tài) - 正確

2,、下列關(guān)于Thread類提供的線程控制方法的說法中,錯誤的一項是

在線程A中執(zhí)行線程B的join()方法,,則線程A等待直到B執(zhí)行完成

線程A通過調(diào)用interrupt()方法來中斷其阻塞狀態(tài)

若線程A調(diào)用方法isAlive()返回值為true,,則說明A正在執(zhí)行中

currentThread()方法返回當(dāng)前線程的引用 currentThread()方法返回當(dāng)前線程的引用 - 正確

3、下列關(guān)于線程的說法以中,,正確的一項是

由同一類創(chuàng)建的多個線程都同時運(yùn)行結(jié)束

創(chuàng)建線程只能通過繼承java.lang.Thread類

調(diào)用suspend()方法暫停的一個線程將不會再被重新執(zhí)行

程序的執(zhí)行完畢與超級線程(daemon threads)無關(guān) 程序的執(zhí)行完畢與超級線程(daemon threads)無關(guān) - 正確


Thread類常用API

一張圖搞定Java線程,,通過Thread類創(chuàng)建線程

一張圖搞定Java線程,通過Thread類創(chuàng)建線程


    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多