學習筆記
頻寬比較低的裝置
usb 滑鼠 鍵盤
高速訪問 頻寬高的裝置
5ghz 每秒鐘進行5g次基礎指令運算
乙個cpu晶元可以整合多個 cpu 核心,可以並行處理任務。一般核心數=執行緒數
cpu的快取是對主存的快取記憶體。
uptime 電腦執行了多長時間 負載
資源排程管理的最小單位
程序中的所有執行緒共享一套位址空間
多執行緒 在cpu阻塞情況下很有用
執行緒的五種狀態 只有執行中占用 cpu 資源
執行緒池 進行管理 執行緒的 建立 和 銷毀 減少了消耗
協程能夠減少一部分的 執行緒切換
協程,英文coroutines,是一種比執行緒更加輕量級的存在。正如乙個程序可以擁有多個執行緒一樣,乙個執行緒也可以擁有多個協程。
協程不是程序或執行緒,其執行過程更類似於子例程,或者說不帶返回值的函式呼叫。
如果是 先state=0;然後 持有者 = null;
state 等於零 之後 會呼叫 lock()
持有者 = null 和 lock 的 持有者 = 當前執行緒 可能會 衝突
但是 先 持有者 = null; 再 state = 0; 就會避免這個問題的發生。
併發控制中的樂觀鎖與悲觀鎖
在多使用者環境中,在同一時間可能會有多個使用者更新相同的記錄,這會產生衝突。這就是著名的併發性問題。1 丟失更新 乙個事務的更新覆蓋了其它事務的更新結果,就是所謂的更新丟失。例如 使用者a把值從6改為2,使用者b把值從2改為6,則使用者a丟失了他的更新。2 髒讀 當乙個事務讀取其它完成一半事務的記錄...
iOS併發程式設計 鎖
import import import import define iterations 1024 1024 32 void testlock now cfabsolutetimegetcurrent printf nslock f sec n now then then cfabsoluteti...
161024 併發控制中的樂觀鎖與悲觀鎖
在多使用者環境中,在同一時間可能會有多個使用者更新相同的記錄,這會產生衝突。這就是著名的併發性問題。1 丟失更新 乙個事務的更新覆蓋了其它事務的更新結果,就是所謂的更新丟失。例如 使用者a把值從6改為2,使用者b把值從2改為6,則使用者a丟失了他的更新。2 髒讀 當乙個事務讀取其它完成一半事務的記錄...