線程基礎(chǔ)

  • 進程與線程
image.png

同一時間CPU只能執(zhí)行一個程序,因此程序間會有間斷性。但是這個時間非常短,幾乎感覺不到,只有在開啟了很多個程序之后,會出現(xiàn)明顯的卡頓

  • 并行與并發(fā)

并行:兩個任務(wù)同時運行---多核CPU,一個核處理程序A,另一個核處理程序B
并發(fā):兩個任務(wù)同時請求運行,但是處理器一次只能接收一個任務(wù),因為會安排兩個任務(wù)輪流執(zhí)行,由于CPU時間片運行時間短,就會感覺兩個任務(wù)在同時運行

時間片輪轉(zhuǎn):
假設(shè)分配給程序A有執(zhí)行時間3s,程序A有2個線程:線程A和線程B,則A和B會搶時間片執(zhí)行,若A首先搶到,且A里面的任務(wù)完成需要5s,則在3s之后,時間片會結(jié)束,輪詢到別的程序,等到再次輪詢到A的時候,從上次執(zhí)行處繼續(xù)執(zhí)行

  • 休眠:釋放CPU時間片

若線程A執(zhí)行一次,休眠了1s,則剩下的2s會分配給B執(zhí)行

  • join:加入線程,并讓加入的線程執(zhí)行指定時間或執(zhí)行完畢

  • 中斷

  • 守護線程:當(dāng)進程中沒有用戶線程時,JVM退出
    即若主線程執(zhí)行完畢,守護線程未執(zhí)行完畢,則JVM退出,守護線程不執(zhí)行了

  • 線程同步:多個線程在同一時間段內(nèi)只能有一個線程執(zhí)行指定代碼

  • 線程安全:線程安全問題都是由全局變量及靜態(tài)變量引起的,方法中的局部變量分配在棧空間,每個線程有私有的??臻g。因此訪問是線程安全的

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 寫在前面的話: 這篇博客是我從這里“轉(zhuǎn)載”的,為什么轉(zhuǎn)載兩個字加“”呢?因為這絕不是簡單的復(fù)制粘貼,我花了五六個小...
    SmartSean閱讀 4,936評論 12 45
  • 前言 多線程并發(fā)編程是Java編程中重要的一塊內(nèi)容,也是面試重點覆蓋區(qū)域,所以學(xué)好多線程并發(fā)編程對我們來說極其重要...
    嘟爺MD閱讀 7,412評論 21 272
  • 進程的概念 進程是操作系統(tǒng)上的概念,操作系統(tǒng)是直接驅(qū)動、管理計算機硬件的一款管理軟件,它的運行幫助我們利用計算機硬...
    伶俐ll閱讀 814評論 0 3
  • 早上清醒以后第一件事就是給兩位媽媽發(fā)短信,祝愿母親節(jié)快樂。 婆婆(淡定簡練型)回:收到。媽媽(肉麻發(fā)嗲型)回:我的...
    丟了朵朵閱讀 854評論 1 2
  • 我知道我有再多的怨言 你揉揉我的頭 我還是只想抱你
    熬出歡喜閱讀 199評論 0 2

友情鏈接更多精彩內(nèi)容