您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關java中的并發介紹,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
并發:是指在某個時間段內,多任務交替的執行任務。當有多個線程在操作時,把CPU運行時間劃分成若干個時間段,再將時間段分配給各個線程執行。 在一個時間段的線程代碼運行時,其它線程處于掛起狀。
簡單來說,就是cpu在同一時刻執行多個任務。
Java并發則由多線程實現的。
在jvm的世界里,線程就像不相干的平行空間,串行在虛擬機中。(當然這是比較籠統的說法,線程之間是可以交互的,他們也不一定是串行。)
多線程的存在就是壓榨cpu,提高程序性能,還能減少一定的設計復雜度(用現實的時間思維設計程序)。
為什么要使用多線程?
先總體上:
從計算機底層來說:線程可以比作是輕量級的進程,是程序執行的最小單元,線程間的切換和調度的成本遠遠小于進程。另外,多核 CPU 時代意味著多個線程可以同時運行,這減少了線程上下文切換的開銷。
從當代互聯網發展趨勢來說:現在的系統動不動就要求百萬級甚至千萬級的并發量,而多線程并發編程正式開發高并發系統的基礎,利用好多線程機制可以大大提高系統的并發能力以及性能。
再深入到計算機底層:
單核時代:在單核時代多線程主要是為了提高 CPU 和 IO 設備的綜合利用率。
多核時代:多核時代主要是為了提高 CPU 的利用率。
使用多線程可能會帶來什么問題?
并發編程的目的就是為了能提高程序的執行效率提高程序運行速度,但是并發編程并不總是能提高程序運行速度的,而并發編程可能會遇到很多問題,比如:內存泄漏、上下文切換、死鎖等,還有受限于硬件和軟件和資源閑置問題。
關于java中的并發介紹就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。