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

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

2020年Java多線程技術總結篇

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


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


2020年Java多線程技術總結篇


  一些方法的使用如下:


  currentThread() 返回當前代碼被哪個線程調用的信息。


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


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


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


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


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


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


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


  suspend() 暫停線程


  resume() 恢復線程


  yield()放棄當前CPU資源,讓給其他任務。


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


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


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


  知識點梳理:


  方法內變量線程安全,實例變量非線程安全。


  使用synchronize關鍵字,對不同對象使用,會產生多個鎖。


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


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


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


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


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


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


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


2020年Java多線程技術總結篇


  第三章 線程間通信


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


  知識點梳理:


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


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


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


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


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


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


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


  第四章 Lock的使用


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


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


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


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


  synchronize就相當于整個Lock對象中只有一個單一的Condition對象。


  公平鎖與非公平鎖


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


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


  知識點梳理:


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


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


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


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


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


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


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


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


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


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


  boolean isFait() 是否公平鎖


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


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


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


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


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


2020年Java多線程技術總結篇


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


  相關內容


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


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


  Java多線程學習,深入解析


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 三级全黄的视频 | 欧美亚洲一级片 | 欧美性视频一区二区三区 | 久久免费视频网 | 六月丁香激情综合成人 | 国产伦精品一区三区视频 | 在线观看黄色影片 | 看全黄大色黄大片美女51la | 在线观看欧美亚洲 | 国产三级国产精品 | 色多多网站| 97碰视频人人做人人爱欧美 | 午夜视频黄色 | 国产亚洲一区二区精品张柏芝 | 日韩精品1| 中文字幕aⅴ在线视频 | 舔插视频 | 国产第一页久久亚洲欧美国产 | 欧美大陆日韩一区二区三区 | 巨大欧美黑人xxxxbbbb | 亚洲欧美日韩国产 | 欧美一区二区在线播放 | 伊人日韩 | 国产自在自线午夜精品视频在 | 一级毛毛片毛片毛片毛片在线看 | 大学生一级特黄的免费大片视频 | 成年人免费在线 | 草草草在线视频 | 一区二区三区视频在线观看 | 日韩亚洲欧美在线观看 | 黄色在线视频网 | 天天弄天天干 | 波多野结衣50连精喷在线 | 国产一二三区在线观看 | 免费看一级特黄a大片 | 欧美日韩在线成人免费 | 亚洲区精品 | 欧美精品xxxⅹ欧美 欧美经典成人在观看线视频 | 亚洲视频免费在线看 | 在线观看成年人网站 | 182tv成人午夜在线观看 |