C 多執行緒系列章節三 C 層面知識點相關

2021-10-21 13:56:10 字數 705 閱讀 8919

一:巨集觀上講  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...