P5 併發控制1 互斥

2021-10-18 12:22:25 字數 1917 閱讀 6945

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 的內容...