其实书的全名叫《程序员的自我修养---链接、装载与库》,只是我不敢将程序员和自己联系起来,一来自己还未到软件公司工作,二来今年的确一句都没写过,本来打算写一个四角查字法,可是还有很多难点,就此搁浅。
的确是本好书,像我这样的菜货在看完书后居然轻松理解了信号量、互斥量、临界区。(记得以前上学时信号量可是很绕人的,临界区的题目更不是我这种智商的人能一下子能会做的题目)
不信,你可以看:
互斥量:资源仅同时允许一个线程访问,但和信号量不同的是,信号量在整个系统可以被任意线程获取并释放,也就是说,同一个信号量可以被系统中的一个线程获取之后而由另一个线程释放。而互斥量则要求哪个线程获取了互斥量,哪个线程就要负责释放这个锁,其他线程越俎代疱去释放是无效的。
临界区:临界区的作用范围仅仅限于本进程,其他进程无法获取该锁。除此之外,临界区具有和互斥量相同的性质。
是不是写的简单而又精辟?
如果是在windows上写程序,可能知不知道链接、装载、库这些概都无所谓,(以前大学的时候用的都是windows下的可视化编译工具如visual studio),但是如果其他平台的话可能就会有点烦恼,比如会看到有个人这样编译一个程序:gcc -o init menu.c help.c -pthread,这个pthread是个什么东西?明明menu.c中已经包含头文件<pthread.h>啦?
继《orange's .....》之后,我爱的第二本书。云风也很推荐哦,还为它写了序。

|