黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) 2020年Java多線程技術(shù)總結(jié)篇

2020年Java多線程技術(shù)總結(jié)篇

更新時間:2020-01-06 16:58:26 來源:動力節(jié)點 瀏覽3021次


  小編沒有寫到核心知識,只是簡單說明一下線程概念,多線程實現(xiàn)方式(繼承Thread,實現(xiàn)Runnable)、共享數(shù)據(jù)的不安全性、停止線程、線程的優(yōu)先級


2020年Java多線程技術(shù)總結(jié)篇


  一些方法的使用如下:


  currentThread() 返回當(dāng)前代碼被哪個線程調(diào)用的信息。


  isAlive()判斷當(dāng)前線程是否處于活躍狀態(tài)。


  sleep()指定好描述讓當(dāng)前執(zhí)行線程休眠。(不會放棄鎖)


  getId()取得線程唯一標(biāo)識。


  stop()強制停止,不推薦使用。


  interrupt()停止線程,不能立刻停止線程,是給當(dāng)前線程打一個停止標(biāo)記。


  interrupted() 檢測當(dāng)前線程是否已經(jīng)中斷,具有清除狀態(tài)功能。


  isInterrupted() 檢測線程是否已經(jīng)中斷。


  suspend() 暫停線程


  resume() 恢復(fù)線程


  yield()放棄當(dāng)前CPU資源,讓給其他任務(wù)。


  serPriority() 方法設(shè)置優(yōu)先級,1~10個等級。


  第二章 對象及變量的并發(fā)訪問


  第二章作者主要是對并發(fā)訪問進行描述,對synchronized關(guān)鍵的使用準(zhǔn)備了大量的用例,也驗證了使用synchronize時的各種注意事項。


  知識點梳理:


  方法內(nèi)變量線程安全,實例變量非線程安全。


  使用synchronize關(guān)鍵字,對不同對象使用,會產(chǎn)生多個鎖。


  臟讀就是讀取實例變量時此值已經(jīng)被其他線程更改過。(表里不一)


  synchronize(this)鎖定的是當(dāng)前對象


  synchronize鎖重入,當(dāng)前使用synchronize時,當(dāng)一個線程得到某一個對象鎖后,再次請求此對象鎖可以再次得到鎖。在一個synchronize方法的內(nèi)部調(diào)用本類的其他synchronize方法時,可以直接得到鎖。可重入鎖支持在父子類繼承的環(huán)境中。


  同步不具有繼承性,synchronize修飾的方法,繼承后重寫不具備synchronize特性。


  String加油常量池緩存,一般不作為synchronize的鎖對象。


  多線程的死鎖,互相等待對方。


  volatile關(guān)鍵字 保證線程可見性且提供了一定的有序性,但是無法保證原子性。在JVM底層volatile是采用“內(nèi)存屏障”來實現(xiàn)的。


2020年Java多線程技術(shù)總結(jié)篇


  第三章 線程間通信


  多線程之間的通信,主要通過等待/通知機制實現(xiàn)。方法wait()使當(dāng)前線程等待(釋放鎖),notify()方法用于喚醒某一個線程,執(zhí)行完notify()方法后,不會馬上釋放該對象鎖,notifyAll() 用于喚醒全部線程。


  知識點梳理:


  當(dāng)線程呈wait()狀態(tài)時,調(diào)用線程對象的interrupt()方法會出現(xiàn)InterruptedException異常。


  wait(long)等待某一時間是否有線程對鎖進行喚醒,如果超過時間自動喚醒。


  在經(jīng)典的生產(chǎn)者-消費者中,使用while()替代if進行條件判斷,因為wait()方法被喚醒后,是從wait()后代碼繼續(xù)執(zhí)行,不是重新執(zhí)行。


  通過管道可以進行線程間通信:字節(jié)流。提供四個類在線程間通信。PipedInputStream,pipedOutputStream,PipedReader與PipedWrider.


  join() 方法,可以等待線程執(zhí)行完再執(zhí)行(等待線程銷毀)。


  方法join(long)內(nèi)部使用wait(long)來實現(xiàn),join(long)具有釋放鎖的特點。


  ThreadLocal使每個線程綁定自己的值。


  第四章 Lock的使用


  ReentrantLock的使用,相比于synchronize關(guān)鍵的使用顯得更加的靈活,并且加上了更多更強大的功能。調(diào)用ReentrantLock獨享的lock()方法獲取鎖,調(diào)用unlock()方法釋放鎖。


  使用Condition實現(xiàn)等待通知


  ReentrantLock實現(xiàn)等待/通知需要借助Condition對象,可以實現(xiàn)多路通知,在一個Lock對象里面創(chuàng)建多個Condition對象,注冊對象可以注冊在指定的Condition中,選擇性的對線程通知,調(diào)度線程更靈活。


  在notify/notifyAll方法進行通知,被通告的線程由JVM隨機選擇,但是使用ReentrantLock結(jié)合Condition可以實現(xiàn)選擇性通知。


  synchronize就相當(dāng)于整個Lock對象中只有一個單一的Condition對象。


  公平鎖與非公平鎖


  鎖Lock分為“公平鎖”與“非公平鎖”,意味著線程獲取鎖的順序是否根據(jù)線程的加載順序來分配。


  可以通過ReentrantLock lock = new ReentrantLock(true) 創(chuàng)建公平鎖,ReentrantLock默認(rèn)創(chuàng)建的是非公平鎖


  知識點梳理:


  Object類中的wait() 相當(dāng)于Condition中的await()方法


  Object類中的notify() 相當(dāng)于Condition中的signal()方法


  Object類中的notifyAll() 相當(dāng)于Condition中的signalAll()方法


  可以通過ReentrantLock lock = new ReentrantLock(true) 創(chuàng)建公平鎖


  int getHoldCount() 查詢當(dāng)前線程保持此鎖的各式個數(shù)。


  int getQueueLength() 返回正在等待獲取此鎖定的線程估計數(shù)


  int getWaitQueueLength(Condition condition) 返回等待與此鎖相關(guān)condition的線程估計數(shù)


  boolean hasQueuedThread(Thread thread) 查詢指定的線程是否正在等待此鎖。


  boolean hasQueuedThreads() 查詢是否有線程正在等待此鎖。


  boolean hasWauters(Condition condition)查詢是否有線程正在等待與此鎖有關(guān)的condition。


  boolean isFait() 是否公平鎖


  boolean isHeldByCurrentThread()查詢當(dāng)前線程是否保存此鎖


  boolean isLocked() 查詢此鎖是否有任意線程保持。


  void lockInterruptibly() 如果當(dāng)前線程未被中斷,獲取此鎖。


  boolean tryLock() 僅在調(diào)用時鎖定未被另一個線程保持的情況下,才獲取此鎖。


  ReentrantRadWriteLock類,是一種讀寫鎖。有兩個鎖,一個是讀相關(guān)鎖,稱為共享鎖;另一個是寫相關(guān)鎖,也叫排它鎖。多個讀鎖不互斥,讀寫互斥,寫寫互斥。


2020年Java多線程技術(shù)總結(jié)篇


       以上就是動力節(jié)點Java培訓(xùn)機構(gòu)小編介紹的“2020年Java多線程技術(shù)總結(jié)篇”的內(nèi)容,希望對大家有幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。


  相關(guān)內(nèi)容


  Java多線程面試題及回答(詳細(xì)總結(jié))


  java多線程的狀態(tài)轉(zhuǎn)換以及基本操作


  Java多線程學(xué)習(xí),深入解析


提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 日日夜人人澡人人澡人人看免 | 国产高清在线a视频大全 | 欧美日韩一区二区三区在线观看 | 欧美三级在线 | 日韩一道本 | 国产初高中生粉嫩无套第一次 | 亚洲精品三级 | 亚洲国产成人精彩精品 | 成人爱做日本视频免费 | 夜色福利院在线看 | 欧美日韩亚洲国产无线码 | 天天色网站 | 人人人人干 | 欧美一及 | 日干夜干天天干 | 国外性xxxnxxxf视频 | 天天操天天曰 | 最新国产精品精品视频 | 日本成人中文字幕 | 在线观看中文字幕第一页 | 鸥美性生交xxxxx久久久 | 亚洲综合久久久久久888 | 在线播放一区二区三区 | 久久成人性色生活片 | 五月玖玖 | 欧美a一级片 | 国产成人精品免费视频大全麻豆 | 在线综合视频 | 国产精品免费小视频 | 色日本视频 | 国内成人精品视频 | 在线中文字幕播放 | 操皮视频| 免费一区视频 | 青草91| 黄色美女免费看 | 日本三级香港三级人妇网站 | 在线观看深夜 | 国产一区亚洲二区三区 | 日韩久久久精品首页 | 欧美日韩加勒比一区二区三区 |