標(biāo)題: 隨記三 [打印本頁]

作者: liuyang    時(shí)間: 2012-1-11 20:33
標(biāo)題: 隨記三
    這或許是我最后一次在軟件上學(xué)習(xí)的沖刺了。 

            上周就開始研究網(wǎng)絡(luò)通信完成端口,異步模式。到現(xiàn)在完成端口雖然知道流程了,但是感覺理解并不透徹。剛剛突然又理解了一部分。創(chuàng)建的工作線程用該就是線程 池了,通過GetQueuedCompletionStatus()來管理的,我看了號多資料了,這個(gè)理解應(yīng)該和GetMessage()取消息差部多意 思。當(dāng)有客戶端連接時(shí),把接受到的套接字句柄與完成端口關(guān)聯(lián),向套接字上投遞收包WSARecv()立刻返回,這個(gè)操作實(shí)際是和異步模式 WSAAsyncSelect()沒什么區(qū)別,我自己的理解的兩者區(qū)別:完成端口 在函數(shù)返回時(shí)系統(tǒng)會把SOCKET上接受數(shù)據(jù)寫入到I/O(指定緩沖區(qū))中,接收完成后系統(tǒng)會把完成斷口對象放入到完成端口等待的隊(duì)列,然后工作線程 GetQueuedCompletionStatus()會取出隊(duì)列中的完成端口對象,進(jìn)行相應(yīng)的處理。 異步模式 我們一般會在消息處理函數(shù)里添加響應(yīng)的代碼,事實(shí)上等異步模式響應(yīng)接收數(shù)據(jù)的時(shí)候,數(shù)據(jù)早已經(jīng)到達(dá)且等候多時(shí)了。所以異步模式響應(yīng)的效率相對完成端口慢。

                遺留的問題:異步模式是立即返回,通過在消息響應(yīng)函數(shù)中進(jìn)行處理的,有必要使用多線程嗎?如果阻塞模式使用多線程的話,CPU會把大量時(shí)間消耗在線程調(diào)度,那我也寫個(gè)線程管理機(jī)制,這樣效率是不是能接近完成端口? 

         碰到線程管理,讓我又找了點(diǎn)資料發(fā)現(xiàn)WINDOWS核心編程與windows高級編程指南,我以前稍微看了下,那時(shí)侯水平還很菜,沒看懂,我想現(xiàn)在也是重 新來翻來深究的時(shí)候了,F(xiàn)在越來越不喜歡MFC框架了,但是現(xiàn)在研究MFC源代碼還欠火候,要不先把WINDOWS/C編程全部熟練了再往下走。 得好好 研究下這些東西。繼續(xù)沖刺下....

        在想這些東西或許以后還會用到,不管怎樣先玩下再說,單片機(jī)嘛,不急,只要原理性的東西理解了,下次再寫這些代碼只是盞茶的工夫而已。

           這次 回家補(bǔ)充了點(diǎn)精力,呵呵。  繼續(xù)努力,勤能補(bǔ)拙,得好好花心思啊,自己都落后兄弟太多了,長輩的嘴,我勉強(qiáng)的笑了笑,雖然賺不到錢還是得努力賺。

             這生活就是狗咬著貓,貓追著鼠,鼠恐嚇人,人棒打狗,全不是一回事。哪天生活太落魄了,身邊一堆人笑話你,真不是回事。我若有本事早就挖挖土把所有人給埋 了,可惜啊,被人挖挖土埋了半截身子,看著月亮無奈的嘆了口氣,這日子什么時(shí)候到頭啊,于是把頭深深的埋進(jìn)土里了,等著來年發(fā)芽長得更茁壯點(diǎn)。  上帝那個(gè)打醬油的,以前還可以,不知道什么時(shí)候開始整天就知道把妹了,不管我們的死活了,都臉貼著地過日子了,他也不出來幫下忙,去找他,他甩了這么一句 話,你又手有腳有腦袋,不會自己想辦法嘛,話雖有理,可起碼讓我們看見點(diǎn)希望才行嗎,沒有一絲光明的路,哪來的勇氣繼續(xù)走下去啊,從那天開始我跟隨了佛 祖,豈知他更不管事,萬法隨緣,我都快沒飯下鍋了,你還給我念叨這個(gè),真是那個(gè)什么的.........  暈好像寫挖了,這是技術(shù)文章,怎么寫自己的牢騷了,哎,與其發(fā)牢騷還不如自己想辦法,做得實(shí)際的事吧,就寫到這里吧,完畢。






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1