歡迎來到《並發王者課》,本文是該系列文章中的第20篇。 在上一篇文章中,我們介紹了Condition的用法。在本文中,將為你介紹CountDownLatch的用法。CountDownLatch是JUC中的一款常用工具類,當你在編寫多線程代碼時,如果你需要協調多個線程的開始和結束動作時,它可 ...
歡迎來到 並發王者課 ,本文是該系列文章中的第 篇。 在上篇文章中,我們介紹了避免死鎖的幾種策略。雖然死鎖臭名昭著,然而在並發編程中,除了死鎖之外,還有一些同樣重要的線程活躍性問題值得關注。它們的知名度不高,但破壞性極強,本文將介紹的正是其中的線程飢餓和活鎖問題。 一 飢餓的產生 所謂線程 飢餓 Starvation 指的是在多線程的資源競爭中,存在貪婪的線程一直鎖定資源不釋放,其他的線程則始終處 ...
2021-06-13 09:33 0 185 推薦指數:
歡迎來到《並發王者課》,本文是該系列文章中的第20篇。 在上一篇文章中,我們介紹了Condition的用法。在本文中,將為你介紹CountDownLatch的用法。CountDownLatch是JUC中的一款常用工具類,當你在編寫多線程代碼時,如果你需要協調多個線程的開始和結束動作時,它可 ...
歡迎來到《並發王者課》,本文是該系列文章中的第9篇。 在本篇文章中,我將為你介紹線程中異常的處理方式以及uncaughtExceptionHandler用法。 一、新線程中的異常去哪了 應用程序在執行過程中,難免會出現各種意外錯誤,如果我們沒有對錯誤進行捕獲處理,會直接影響應用的運行 ...
歡迎來到《並發王者課》,本文是該系列文章中的第8篇。 在本篇文章中,我將從多線程的本質出發,為你介紹線程相關的狀態和它們的變遷方式,並幫助你掌握這塊知識點。 一、多線程的本質是分工協作 如果你是王者的玩家,那么你一定知道王者中的眾多英雄分為主要分為幾類,比如法師、戰士、坦克、輔助等等。一些 ...
歡迎來到《並發王者課》,本文是該系列文章中的第22篇,鉑金中的第9篇。 在前面的文章中,我們已經介紹了ReentrantLock,CountDownLatch,CyclicBarrier,Semaphore等同步工具。在本文中,將為你介紹最后一個同步工具,即Exchanger. ...
歡迎來到《並發王者課》,本文是該系列文章中的第17篇。 在並發編程中,信號量是線程同步的重要工具。在本文中,我將帶你認識信號量的概念、用法、種類以及Java中的信號量。 信號量(Semaphore) 是線程間的同步結構,主要用於多線程協作時的信號傳遞,以及對共享資源的保護、防止競態的發生 ...
前言 最近老板又來新需求了,要做一個物聯網相關的app,其中有個需求是客戶端需要收發服務器不定期發出的消息。 內心OS: 🤔 這咋整呢?通過接口輪詢?定時訪問接口,有數據就更新? 🤔 不行不行, ...
歡迎來到《並發王者課》,本文是該系列文章中的第23篇,鉑金中的第10篇。 說起ThreadLocal,相信你對它的名字一定不陌生。在並發編程中,它有着較高的出場率,並且也是面試中的高頻面試題之一,所以其重要性不言而喻。當然,它也可能曾經讓你在夜里輾轉反側,或讓你在面試時閃爍其詞 ...