五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

第三課 Java并發(fā)體系-第一階段-多線程基礎(chǔ)知識(shí)

2023-02-19 20:45 作者:楓葉天闌  | 我要投稿

一、程序、進(jìn)程、線程的理解

1、程序(programm)

概念:是為完成特定任務(wù)、用某種語(yǔ)言編寫的一組指令的集合。即指一段靜態(tài)的代碼。


2、進(jìn)程(process)

概念:程序的一次執(zhí)行過(guò)程,或是正在運(yùn)行的一個(gè)程序。

說(shuō)明:進(jìn)程作為資源分配的單位,系統(tǒng)在運(yùn)行時(shí)會(huì)為每個(gè)進(jìn)程分配不同的內(nèi)存區(qū)域


3、線程(thread)

概念:進(jìn)程可進(jìn)一步細(xì)化為線程,是一個(gè)程序內(nèi)部的一條執(zhí)行路徑。

說(shuō)明:線程作為CPU調(diào)度和執(zhí)行的單位,每個(gè)線程擁獨(dú)立的運(yùn)行棧和程序計(jì)數(shù)器(pc),線程切換的開(kāi)銷小。


進(jìn)程可以細(xì)化為多個(gè)線程。

每個(gè)線程,擁有自己獨(dú)立的:棧、程序計(jì)數(shù)器

多個(gè)線程,共享同一個(gè)進(jìn)程中的結(jié)構(gòu):方法區(qū)、堆。



二、 并行與并發(fā)

(1)?單核CPU與多核CPU的理解

- 單核CPU,其實(shí)是一種假的多線程,因?yàn)樵谝粋€(gè)時(shí)間單元內(nèi),也只能執(zhí)行一個(gè)線程的任務(wù)。例如:雖然有多車道,但是收費(fèi)站只有一個(gè)工作人員在收費(fèi),只有收了費(fèi)才能通過(guò),那么CPU就好比收費(fèi)人員。如果某個(gè)人不想交錢,那么收費(fèi)人員可以把他“掛起”(晾著他,等他想通了,準(zhǔn)備好了錢,再去收費(fèi)。)但是因?yàn)镃PU時(shí)間單元特別短,因此感覺(jué)不出來(lái)。

- 如果是多核的話,才能更好的發(fā)揮多線程的效率。(現(xiàn)在的服務(wù)器都是多核的)

- 一個(gè)Java應(yīng)用程序java.exe,其實(shí)至少三個(gè)線程:main()主線程,gc()垃圾回收線程,異常處理線程。當(dāng)然如果發(fā)生異常,會(huì)影響主線程。


(2)?并行與并發(fā)的理解

并行:多個(gè)CPU同時(shí)執(zhí)行多個(gè)任務(wù)。比如:多個(gè)人同時(shí)做不同的事。

并發(fā):一個(gè)CPU(采用時(shí)間片)同時(shí)執(zhí)行多個(gè)任務(wù)。比如:秒殺、多個(gè)人做同一件事



三、創(chuàng)建線程的幾種方法

(1)? 繼承Thread類創(chuàng)建線程


多線程的創(chuàng)建,方式一:繼承于Thread類

1. 創(chuàng)建一個(gè)繼承于Thread類的子類

2. 重寫Thread類的run() --> 將此線程執(zhí)行的操作聲明在run()中

3. 創(chuàng)建Thread類的子類的對(duì)象

4. 通過(guò)此對(duì)象調(diào)用start()


?例子:遍歷100以內(nèi)的所有的偶數(shù)

(2) 實(shí)現(xiàn)Runnable接口創(chuàng)建線程


1、創(chuàng)建多線程的方式二:實(shí)現(xiàn)Runnable接口

????1. 創(chuàng)建一個(gè)實(shí)現(xiàn)了Runnable接口的類

????2. 實(shí)現(xiàn)類去實(shí)現(xiàn)Runnable中的抽象方法:run()

????3. 創(chuàng)建實(shí)現(xiàn)類的對(duì)象

????4. 將此對(duì)象作為參數(shù)傳遞到Thread類的構(gòu)造器中,創(chuàng)建Thread類的對(duì)象

????5. 通過(guò)Thread類的對(duì)象調(diào)用start()


2、 比較創(chuàng)建線程的兩種方式。

?????開(kāi)發(fā)中:優(yōu)先選擇:實(shí)現(xiàn)Runnable接口的方式

?????原因:實(shí)現(xiàn)的方式?jīng)]有類的單繼承性的局限性,實(shí)現(xiàn)的方式更適合來(lái)處理多個(gè)線程有共享數(shù)據(jù)的情況。?


同學(xué)們,基礎(chǔ)多線程部分會(huì)在下節(jié)課繼續(xù)做介紹。

第三課 Java并發(fā)體系-第一階段-多線程基礎(chǔ)知識(shí)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
农安县| 建宁县| 永泰县| 永春县| 正宁县| 民和| 苏尼特右旗| 文山县| 乐安县| 思南县| 迁安市| 云和县| 南召县| 百色市| 扶风县| 论坛| 大同市| 昆山市| 莱芜市| 保康县| 蕉岭县| 广汉市| 托克逊县| 阳曲县| 赞皇县| 积石山| 昆山市| 禹城市| 阜阳市| 双城市| 德令哈市| 太仆寺旗| 锡林浩特市| 福安市| 奉贤区| 佛学| 新竹市| 璧山县| 高青县| 大名县| 绵阳市|