咱們在前幾篇講解了java集合的相關知識java
本章開始主要介紹下多線程編程,集合的其餘實現,後續會陸續放出編程
上圖取自某東,標註了三款的cpu的參數,咱們只需關注cpu核心這欄,這裏三款cpu都是6核12線程, 請看下圖多線程
矩形盒子表明的是一個cpu 而裏面有6個核心,理論上一個核心在某個時間節點只能處理一個任務,但如今隨着技術的發達 一個核心能夠處理多個線程任務,比如原來的單核是條單車道,6核12線程就是6條雙車道,最多時可同時處理12個線程任務。上面提到線程任務,那什麼是線程呢?說到線程就必須提到進程post
進程(Process)是計算機中的程序關於某數據集合上的一次運行活動,是系統進行資源分配和調度的基本單位,是操做系統結構的基礎。在早期面向進程設計的計算機結構中,進程是程序的基本執行實體;在當代面向線程設計的計算機結構中,進程是線程的容器。操作系統
打開winwows任務管理器 能夠這個運行了多個程序,qq就是一個進程,而進程是線程的容器,線程
一個殺毒軟件能夠漏洞修復和垃圾清理同時進行 他們就分別是獨立的線程 並且在一個進程內設計
那麼咱們看看線程的含義:3d
線程是程序中一個單一的順序控制流程。進程內有一個相對獨立的、可調度的執行單元,是系統獨立調度和分派CPU的基本單位指令運行時的程序的調度單位。在單個程序中同時運行多個線程完成不一樣的工做,稱爲多線程。cdn
單核cpu理論上在一個時間節點上只能處理一個線程任務,可是如今多核多線程技術加時間片輪轉調度讓咱們能邊聽歌邊寫代碼。blog
咱們假設一個賣票的窗口,總共有100張票 分三張窗口售賣,那此時就須要利用多線程技術。
這個總體賣票的過程能夠看作是一個進程在運行 而三個窗口分別運行即三個線程的運行。線程是計算機抽象的一個至關重要的基礎概念,咱們須要知道
在下一遍咱們將利用java編程來實現三個窗口賣票的程序,盡請期待~~~
喜歡本文的朋友們,歡迎長按下圖關注訂閱號個人編程筆記,收看更多精彩內容