|
其實(shí)書的全名叫《程序員的自我修養(yǎng)---鏈接、裝載與庫(kù)》,只是我不敢將程序員和自己聯(lián)系起來,一來自己還未到軟件公司工作,二來今年的確一句都沒寫過,本來打算寫一個(gè)四角查字法,可是還有很多難點(diǎn),就此擱淺。
的確是本好書,像我這樣的菜貨在看完書后居然輕松理解了信號(hào)量、互斥量、臨界區(qū)。(記得以前上學(xué)時(shí)信號(hào)量可是很繞人的,臨界區(qū)的題目更不是我這種智商的人能一下子能會(huì)做的題目)
不信,你可以看:
互斥量:資源僅同時(shí)允許一個(gè)線程訪問,但和信號(hào)量不同的是,信號(hào)量在整個(gè)系統(tǒng)可以被任意線程獲取并釋放,也就是說,同一個(gè)信號(hào)量可以被系統(tǒng)中的一個(gè)線程獲取之后而由另一個(gè)線程釋放。而互斥量則要求哪個(gè)線程獲取了互斥量,哪個(gè)線程就要負(fù)責(zé)釋放這個(gè)鎖,其他線程越俎代皰去釋放是無(wú)效的。
臨界區(qū):臨界區(qū)的作用范圍僅僅限于本進(jìn)程,其他進(jìn)程無(wú)法獲取該鎖。除此之外,臨界區(qū)具有和互斥量相同的性質(zhì)。
是不是寫的簡(jiǎn)單而又精辟?
如果是在windows上寫程序,可能知不知道鏈接、裝載、庫(kù)這些概都無(wú)所謂,(以前大學(xué)的時(shí)候用的都是windows下的可視化編譯工具如visual studio),但是如果其他平臺(tái)的話可能就會(huì)有點(diǎn)煩惱,比如會(huì)看到有個(gè)人這樣編譯一個(gè)程序:gcc -o init menu.c help.c -pthread,這個(gè)pthread是個(gè)什么東西?明明menu.c中已經(jīng)包含頭文件<pthread.h>啦?
繼《orange's .....》之后,我愛的第二本書。云風(fēng)也很推薦哦,還為它寫了序。

|
|