一:巨集觀上講 cpu處理任務速度很快 乙個接乙個幾乎毫秒級別的響應 被看作成 併發完成的多個任務
微觀上講 cpu還是乙個乙個有先後順序的 所以原子操作可以保證資料有效性/或者鎖 來保證原子性
多核cpu的話 微觀上講 可以 並行 完成 真正意義的同一時間
二:cpu分片 暫存器 計數器
三:多核多執行緒 比如4核8執行緒 是指 4個核心 也就是晶元組 弄到乙個cpu晶元上 8執行緒 是 邏輯執行緒有8個 虛擬的八執行緒 超執行緒技術 真正核心只有4個
我認為比較好的幾個文章幫助理解以上三點
分片
1:多執行緒的狀態
2:多執行緒 互斥鎖 lock monitar lock只是運用了monitor.enter和monitor.exit monitar 還可以有別的wait tryenter這些用處
4:執行緒優先順序 執行緒排程
5:執行緒池/後台執行緒
前台執行緒 後台執行緒
6:非同步程式設計模式 apm
7:執行緒飢餓與執行緒死鎖
8:無鎖演算法
7:原生執行緒 託管執行緒
8:執行緒主動切換/被動切換
9:搶占模式/合作模式
6:多執行緒與非同步的區別
7:深入理解堆疊、堆在記憶體中的實現
堆疊 空間 乙個執行緒棧 8-10m 物件頭
應用**級
C 多執行緒 知識點記錄
今天接觸了c語言中的多執行緒,在這裡記錄一下 第一步 引入標頭檔案pthread.h include 第二步 運用函式 pthread t 建立執行緒控制代碼 pthread create 建立執行緒 引數 第乙個引數執行緒控制代碼 第二個引數null就行 第三個引數是函式名型別 void 第四個引...
多執行緒之知識點
多執行緒的學習 1.都不是原子操作,在多執行緒中值可能被改變 因此在多執行緒環境中對乙個變數進行讀寫時,我們需要有一種方法能夠保證對乙個值的遞增操作是原子操作 即不可打斷性,乙個執行緒在執行原子操作時,其它執行緒必須等待它完成之後才能開始執行該原子操作。這種涉及到硬體的操作會不會很複雜了,幸運的是,...
多執行緒知識點總結
多執行緒的問題主要圍繞3個問題處理 1.原子性,2.可見性,3.有序性 1.原子性,不可被其他執行緒打斷的操作。如read.write sychronized 2.可見性 一條執行緒修改了某值,新值對其他執行緒立即可知 普通變數是通過主記憶體完成多執行緒的共享,因此在多執行緒的情況下,很多髒資料。v...