"小濤,還有多少啊,,你看我本來就開玩笑似的說說火車票,飛機票的事,,看MM的事,你在眉飛色舞,,雞飛狗跳的沒完了呢…” "???怎么這樣呢,,本來一個寢室,,做人的差別就那么大囁,,平時不好好學習,,有問題了問我,,給你免費教學,,還滿腹牢騷,,也太不夠朋友了吧…."我錘著桌子說. "朋友,,我還不夠朋友啊,,你沒聽說嗎:朋友為我,兩肋插刀,,我為朋友,,插它兩刀..“小王打斷我,”聽你念經(jīng)似的,,都三個小時了,,你瞧,都來五了,,怎么,,你還想和老易的品三國pk一下誰的劇集..“ 想想我也無語了,太陽起了又落,,落了又起,;花兒也不知開了幾次,都懶得理我了,,我也尋思這個并發(fā)控制為啥就講不完呢..后面還有精彩的沒說呢,,不能在這里就把小王的勁頭給扼殺了…”好了,,你也別唧唧歪歪,嘟嘟倫倫了,,我發(fā)誓,,對燈發(fā)誓,如果這節(jié)還講不完,,你GF的事,,我給你解決了,,還不行嗎”我是無奈了,。 “這感情好..”一聽到MM的話題,小王總是有說不完的激情,,沒辦法,,做人的差距還就是那么大. 言歸正傳,話說... 出招表十:讀寫信號量(不是吧,,都十了,,怪不得小王不耐煩了,這么多招式,,相當你,,我有九陽神功護體還沒這么快呢..哎) “小王,你記得不,,我在前邊提到過一招,,說的是:防讀不防寫…“ "記得,有MM,,我就記得,,沒有那就好說了..“ “得得,不問你了,,三句不離XXX” 傳說中:讀寫信號量可允許N個讀執(zhí)行單元同時訪問共享資源,,而最多只能有一個寫執(zhí)行單元。 “我想起來了,想起來了,,就是和前邊的那個什么----防出不防進…..差不多…”想想小王那副口水哈子吊多長的樣子,,我都懶的理他了.. 使用方法:1)定義和初始化讀寫信號量 struct rw_semphore my_rws; //定義讀寫信號量 void init_rwsem(struct rw_semaphore *sem); //初始化讀寫信號量 2)讀信號量獲取 void down_read(struct rw_semaphore *sem); int down_read_try(struct rw_semaphore *sem); 3)讀信號量釋放 void up_read(struct rw_semaphore *sem); 4)寫信號量獲取 void down_write(struct rw_semaphore *sem); int down_write_try(struct rw_semaphore *sem); 5)寫信號量釋放 void up_write(struct rw_semaphore *sem); 給個例子吧: rw_semaphore rw_sem;//定義讀寫信號量 init_rwsem(&rw_sem);//初始化讀寫信號量 //讀時獲取信號量 down_read(&rw_sem); ...//臨界資源 up_read(&rw_sem); //寫時獲取信號量 down_write(&rw_sem); ...//臨界資源 up_write(&rw_sem);
說句真的,如果小王賴上我給他找個MM,,我還心里真沒底,,所以嗎,下面說最最最最后一招,,我也就解放了哦… 出招表十一:互斥體(啥叫互斥體,,怎么感覺前邊的都是互斥體,呵呵,,確實,,只不過Linux開發(fā)者們覺得不過癮,,就專門研究了一個互斥體,誰讓咱用人家的東西呢) 使用方法:1)定義并初始化互斥體 struct mutex my_mutex; mutex_init(&my_mutex); 2)獲取互斥體 void fastcall mutex_lock(struct mutex *lock);//引起的睡眠不能被打斷 int fastcall mutex_lock_interruptible(struct mutex *lock);//可以被打斷 int fastcall mutex_lock_trylock(struct mutex *lock);//嘗試獲得,,獲取不到也不會導致進程休眠 3)釋放互斥體 void fastcall mutex_unlock(struct mutex *lock); 給個例子: struct mutex my_mutex; //定義mutex mutex_init(&my_mutex);
mutex_lock(&my_mutex); ….//臨界資源 mutex_unlock(&my_mutex);
完了,,一切都完了,有關并發(fā)控制的相關招數(shù)都完了,,小王也該放心去追MM了,,有我這幾招,看誰還敢競爭,,我也不用愁了,,總算在這一集講完了本不該講完的東西.. 如果有需要,我會給大家講一節(jié)有關載入了并發(fā)控制的字符設備驅動程序,,名字我都想好了---需要的請舉手,,火熱招標中哈.. 不好意思,人在江湖走,,怎能不濕腳,,不小心做起廣告來了…
|
|