1:36互斥問題理解
吧執行緒想象**,吧共享記憶體想象成物理世界。執行緒不想被別人打斷地做一件事
3:30共享記憶體上的互斥
互斥鎖救回了原子性(理解為廁所包間)
8:48怎麼樣在共享記憶體上實現互斥
30:48實現互斥:軟體不夠(僅僅通過共享記憶體比較複雜),結合硬體
38:44x86原子操作的例子:lock指令字首
但是執行時間較長
40:36x86原子操作:xchg
看成兩個人a、b上廁所,每個人一把鑰匙一各標籤,全域性變數為一張桌子,初始值放了把鑰匙,a要上廁所,把標籤和桌上的鑰匙交換,拿鑰匙進廁所,此時b就一直是在吧自己的標籤和a的標籤做交換
將值傳入對應的記憶體位址
int
xchg
(volatile
int*addr,
int newval)
43:29實現互斥:自旋鎖
int table = key;
void
lock()
}void
unlock()
改進:
int locked =0;
void
lock()
void
unlock()
自旋鎖實現例程:
#include
"threads.h"
#include
#include
typedef
struct spinlock spinlock_t;
void
spin_init
(spinlock_t *lk)
intxchg
(volatile
int*addr,
int newval)
void
spin_lock
(spinlock_t *lk)
void
spin_unlock
(spinlock_t *lk)
spinlock_t lk;
long
volatile sum =0;
void
do_sum()
}void
print()
intmain()
47:50 另一種原子操作:risc-v
62:30 資料競爭
p5 主流框架。
mvc開發模式。就是 首先介面html檔案,然後系統預設通過方法呼叫其控制器controller中的方法。一般控制器的名稱和html的資料夾名字相同。然後控制器裡面寫一些方法跳轉,轉到對應的logic層。logic裡面主要寫的就是方法。之後logic裡面例項化modal類。modal的名字對應的就是...
CSS樣式 入門學習p5
where there is a will,there is a way.3.2 text decoration 文字修飾屬性 underline 下劃線。overline 上劃線。line through 刪除線。blink 閃爍。none 無任何修飾。eg p.through 4 css屬性 設...
1 1 HTML 入門筆記p5
3 的屬性 單元格 1 單元格 2 1 border 1 四周邊框的厚度 象素 pixels 寬是瀏覽器的30 2 align 指定整個 某行或某個單元格裡內容的水平對齊方式,比如左對齊 居中或右對齊。3 valign 指定某個單元格裡內容的垂直對齊方式,比如靠上 置中或靠下。單元格 1 4 的內容...