亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1077 | 回復(fù): 0
打印 上一主題 下一主題

項(xiàng)目總結(jié)-鎖和信號量 (原創(chuàng)) [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2008-08-27 08:40 |只看該作者 |倒序?yàn)g覽

通過十幾天的努力,用多線程實(shí)現(xiàn)了生產(chǎn)者和消費(fèi)者的經(jīng)典問題,并且可以在pmc和se板子上運(yùn)行(通過宏的切換,在Makefile中已經(jīng)定義,由Makefile文件來控制生成不同平臺的代碼,并且我把接口部分做了一些處理,將T-Engine所提供的原生接口進(jìn)行了有效的封裝,使它的通用性更強(qiáng),并且可讀性和可維護(hù)性都有一定的提高),程序目前大體完成,不過仍然有許多不完善的地方.這段代碼中我所總結(jié)的經(jīng)驗(yàn)和教訓(xùn)如下:
1. 首先對T-Engine這個系統(tǒng)不是很了解。對Pmc和se板子下的接口不熟悉,有一些接口的參數(shù)不知道怎樣設(shè)置,參數(shù)的作用理解的不夠詳細(xì)(有很多這樣的錯誤,以后會多查資料,以便更加了解它們的接口和實(shí)現(xiàn)的原理)。
2. 對生產(chǎn)者和消費(fèi)者這個概念理解不是非常透徹,導(dǎo)致有的地方思維混亂,不知道下步該做什么。(以后多讀多理解別人的代碼,再理解程序的思路后基礎(chǔ)上再寫代碼)。
3. 頭文件的使用,項(xiàng)目開發(fā)時的命名方式不是很清楚,以及注釋,變量的命名,這些東西能夠使程序更加清晰化,提高了移植性,便于以后的修改和維護(hù)。
4. Makefile的使用,通過這個程序,對于Makefile的使用有了一定的提高,對于里面的參數(shù)的使用,有了一定的認(rèn)識。但是理解還不夠深刻,有的地方還比較含糊。
5. 對于多線程以前就是有個概念上的理解。并沒實(shí)際中用到過,這次用到了多線程的函數(shù)。并且用到了鎖和信號量,(下面我說說我對鎖和信號量的理解,鎖是用來保護(hù)臨界資源的,即某一時刻只有一個線程能夠訪問這個資源,當(dāng)它訪問之前先看看有沒有其他的線程在用這把鎖,如果沒有被占用,它獲取這把鎖,然后做它的操作,這個時候其他的線程,是不能夠訪問的,必須等到那個線程做完操作以后釋放鎖的時候,其他的線程才能獲得鎖,進(jìn)行后面的操作。信號量:很多平臺用信號量的實(shí)現(xiàn)方式去模擬出鎖的概念,我在往pmc下移植的時候也用到了這個方法,這是個很經(jīng)典的方法,這也說明了,鎖和信號量的作用很相似,容易混淆,這里面主要強(qiáng)調(diào)下它倆之間的區(qū)別,也是很重要的一點(diǎn),就是信號量(也叫做信號燈)的資源數(shù)由創(chuàng)建它的用戶來指定,當(dāng)建立信號量的資源數(shù)置為1的時候,它可以模擬出鎖的功能,我在做這個代碼的時候,恰恰是用到了它的這個特點(diǎn),實(shí)現(xiàn)了它的這個功能)通過這個程序的編寫,對這部分的知識有了一定的掌握。
6. 對于靜態(tài)申請的空間,盡量申請和所需要的空間相匹配,過大造成資源浪費(fèi),過小會導(dǎo)致緩沖區(qū)溢出,這種錯誤有時不好察覺。養(yǎng)成良好的習(xí)慣很重要。
7. 代碼要盡量嚴(yán)謹(jǐn),比如申請的內(nèi)存,申請的鎖,線程的申請等,要做到不需要的時候,及時把他們釋放掉,以免造成資源的浪費(fèi)和泄漏。
8. 對于問題的解決,出現(xiàn)錯誤的調(diào)試能力,分析錯誤的能力還有待提高。創(chuàng)造性思維不夠。
9. Linux上編輯器的使用,一些基本的命令,還需要多多積累。
10.宏定義的作用和使用的規(guī)則,還有待提高。
以上幾點(diǎn)是我通過這個程序所認(rèn)識到自己的不足和欠缺,爭取在做下個項(xiàng)目的時候能夠少犯上述的錯誤,當(dāng)然,通過這個項(xiàng)目收獲還是很多。

本文來自ChinaUnix博客,如果查看原文請點(diǎn):http://blog.chinaunix.net/u/20619/showart_1149671.html
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP