• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            Creative Commons License
            本Blog采用 知識(shí)共享署名-非商業(yè)性使用-禁止演繹 3.0 Unported許可協(xié)議 進(jìn)行許可。 —— Fox <游戲人生>

            游戲人生

            游戲人生 != ( 人生 == 游戲 )
            站點(diǎn)遷移至:http://www.yulefox.com。請(qǐng)訂閱本博的朋友將RSS修改為http://feeds.feedburner.com/yulefox
            posts - 62, comments - 508, trackbacks - 0, articles - 7

            周記:找回激情

            Posted on 2008-05-11 02:25 Fox 閱讀(1773) 評(píng)論(8)  編輯 收藏 引用 所屬分類: T技術(shù)碎語(yǔ)

            寫(xiě)的太雜,實(shí)在沒(méi)法寫(xiě)題目,就用這一周的簽名吧,很合現(xiàn)在的心境。

            Kevin眼中的我,大概是個(gè)重視理論算法勝過(guò)編程實(shí)踐的人,而我的算法和理論基礎(chǔ)尚差的出奇(可能這就是知恥而后勇吧:D),可見(jiàn)我的編程實(shí)踐又會(huì)多么的差了。Bugs更是對(duì)我整日沉浸于這些不著邊際的“空中樓閣”頗有微詞,甚至嗤之以鼻。今日若不是要把自己前段時(shí)間的豆腐渣粉飾一番,我依然不愿去考慮多線程的具體實(shí)現(xiàn),或者說(shuō)不是不愿,是不敢,總有一種臨深履薄之感。

            縱然如此,為了更好的完成工作,我還是拉來(lái)Kevin,勞他為我講解一下多線程,可能是因?yàn)槲覐奈醋屑?xì)看過(guò)boost等C++開(kāi)源庫(kù)的原因吧,我對(duì)于結(jié)構(gòu)封裝本身并沒(méi)有多少概念。說(shuō)句實(shí)話,看到那些模板我就頭大,心里想:本來(lái)一個(gè)簡(jiǎn)單的東西,為什么要搞的那么復(fù)雜呢?當(dāng)然,我知道,這是因?yàn)槲覍?duì)其缺乏了解,在對(duì)一樣?xùn)|西沒(méi)有完全理解就妄測(cè)其好壞是自卑的表現(xiàn):D,所以也請(qǐng)Kevin原諒我的無(wú)知,順便致謝;-)。

            還是稍微提一下多線程的東西吧,因?yàn)檫@一次改動(dòng)并不很大,因此只言片語(yǔ)難以面面俱到,也請(qǐng)各位TX不必較真兒。這兒只是說(shuō)一下我是怎么偷懶把之前沒(méi)有使用多線程的I/O部分修改成多線程I/O的,I/O的細(xì)節(jié)不再詳述,而且這臺(tái)機(jī)器上面因?yàn)闆](méi)有VS,僅憑記憶,如果有什么差錯(cuò),請(qǐng)幫我指出來(lái)了:-)。

            在項(xiàng)目啟動(dòng)后的初始化中初始化I/O線程:

             1 void SomeApp::Init(void)
             2 {  
             3       // do some other things 
             4 
             5     CIOOperator::Init();  // InitializeCriticalSection for I/O queue(s)
             6 
             7     forint i=0; i<nIOThreadsNum; ++i ) 
             8     { 
             9         CIOOperator *pOpObj = new CIOOperator; 
            10         pOpObj->Create(); 
            11         m_vecIOThreads.push_back(pOpObj); 
            12     } 
            13 
            14       // do some other things 
            15 }


            在項(xiàng)目退出前結(jié)束I/O線程: 

             1 void SomeApp::Release(void
             2 {  
             3       // do some other things 
             4 
             5     vector<CIOOperator *>::iterator it = m_vecIOThreads.begin(); 
             6     for( ; i!=m_vecIOThreads.end(); ++it ) 
             7     { 
             8         it->End(); 
             9         delete (*it); 
            10     } 
            11     m_vecIOThreads.clear();
            12 
            13     CIOOperator::Release();  // DeleteCriticalSectionfor I/O queue(s)
            14 
            15       // do some other things 
            16 


            I/O線程函數(shù):  

             1 void ThreadFunc( void *pArgument )
             2 {
             3       // do some other things, like exception handling 
             4 
             5     (CIOOperator *)pArgument->Run();  // operating I/O queue(s) until exit
             6 
             7       // do some other things 
             8 
             9     _endthreadex();
            10 }

            說(shuō)多線程復(fù)雜,無(wú)外乎線程的退出策略同步機(jī)制調(diào)試異常處理等等。多少還是需要一些知識(shí)(尤其是同步)和經(jīng)驗(yàn)(尤其是調(diào)試)。

            再回來(lái)說(shuō)一下最近比較關(guān)注的算法吧,雖然為某些人所不齒,甚至公然批評(píng)我最近比較松懈,實(shí)在令我難堪的緊。我又沒(méi)有消極怠工,難道編寫(xiě)代碼是積極,學(xué)習(xí)算法就是消極嗎?鄉(xiāng)下來(lái)的,且不必理他。當(dāng)然,多少還是需要注意一下分寸吧。

            在受到上次解決烙餅排序問(wèn)題的打擊之后,我開(kāi)始反思:自己思考和解決問(wèn)題的角度怎么就那么簡(jiǎn)單和狹隘?細(xì)細(xì)想來(lái),從本科畢業(yè)之后,幾乎再?zèng)]翻過(guò)算法的書(shū),幾乎再?zèng)]做過(guò)算法的題,寫(xiě)代碼只是為了糊口,只能糊口的代碼自然只能以垃圾形容。意識(shí)粗糙,操作離譜,整個(gè)一下里巴人。

            在一番深深的自責(zé)之后,痛定思痛,痛何如哉,才感覺(jué)自己關(guān)于算法的思維空間已經(jīng)局限于if-else、do-while,連窮舉、分治、貪心、回溯這些以前念書(shū)時(shí)天天掛在嘴邊侃侃而談的常用算法都沒(méi)有概念了,遑論動(dòng)態(tài)規(guī)劃、最小二乘法、線性回歸等復(fù)雜一些的(非)數(shù)值算法,關(guān)于數(shù)據(jù)結(jié)構(gòu)的思維空間也已經(jīng)局限于vector、list、map了,再也沒(méi)有回憶過(guò)stack、tree、graph這些讀死書(shū)、死讀書(shū)得來(lái)的所謂知識(shí)。 

            可悲啊,為什么拿到一個(gè)困難一點(diǎn)的問(wèn)題,就只知道畫(huà)圖、編碼,而不知道組織算法呢?甚至連這個(gè)問(wèn)題到底有無(wú)多項(xiàng)式時(shí)間解都不去考慮。然而,一提誰(shuí)都知道:算法復(fù)雜性——數(shù)據(jù)結(jié)構(gòu)第0章就會(huì)提到的基礎(chǔ),真正分析起來(lái),卻是力不從心。

            所以,接著掃掃盲吧,實(shí)在沒(méi)有必要去搞很多艱深的東西,本來(lái)想接下來(lái)就寫(xiě)NP難題,可是近來(lái)工作上的事情確實(shí)有些多,之前一篇已經(jīng)是被Alex(這家伙卻至今未開(kāi)張……)“催出來(lái)”的了。

            手頭只有MIT英文版的《Introduction to Algorithms》ed.2,于是就從網(wǎng)上找了中文電子版,居然是上個(gè)世紀(jì)94年南京大學(xué)譯的第一版。看算法的話,多半是以這本書(shū)和Wikipedia為主了。

            PS: 另外做的一點(diǎn)事情,似乎和詞法分析異常處理等多少有些關(guān)聯(lián),內(nèi)容相當(dāng)瑣碎,此刻不再贅述。

            對(duì)了,和工作、學(xué)習(xí)并不那么相干的事情就是,今天和幾個(gè)同事出去釣了幾個(gè)小時(shí)魚(yú),收獲嘛,保密:D。

            近期考慮的關(guān)鍵詞:無(wú)縫世界 網(wǎng)游安全 算法導(dǎo)論 兄弟激情

            Feedback

            # re: 周記:找回激情  回復(fù)  更多評(píng)論   

            2008-05-11 08:24 by Kevin Lynx
            還是給個(gè)評(píng)論:

            其實(shí)關(guān)于程序結(jié)構(gòu),其實(shí)就是我眼中的軟件架構(gòu),這種東西的經(jīng)驗(yàn)主要還是通過(guò)自己寫(xiě)大程序總結(jié)獲得,配合設(shè)計(jì)模式軟件工程之類的理論,上升得會(huì)比較快,尤其是寫(xiě)個(gè)庫(kù)出來(lái),更會(huì)挑戰(zhàn)自己這方面的能力。簡(jiǎn)單的功能封裝并不是一個(gè)庫(kù)該干的(這話熟悉吧?)當(dāng)然看其他開(kāi)源庫(kù)也會(huì)獲取相關(guān)經(jīng)驗(yàn)。對(duì)于boost我不敢說(shuō)啥,很大很惶恐,只能單個(gè)小庫(kù)地仰慕一下。

            自我感覺(jué)現(xiàn)在有模板編程的思想,不過(guò)這東西,僅能用于基礎(chǔ)模塊的搭建。(我很滿意我的日志類,用Andrei書(shū)中的術(shù)語(yǔ)就是policy :D和我的multi_list :D---Bugs眼中的過(guò)度設(shè)計(jì)--確實(shí)有點(diǎn)過(guò)度)

            算法相關(guān)問(wèn)題,我至今覺(jué)得那些書(shū)上的算法很少能帶給我們直接的實(shí)踐機(jī)會(huì)。可能你至今沒(méi)在工作中用到DP吧?不過(guò)我從不忽視算法的作用,在我眼中算法是讓人擁有堅(jiān)實(shí)編程基礎(chǔ)的東西。所以有時(shí)候解決一個(gè)問(wèn)題的時(shí)候,總有點(diǎn)捉襟見(jiàn)肘的感覺(jué)。不過(guò)想想,沒(méi)辦法啊,環(huán)境所致。哥們你就忍了吧。

            # re: 周記:找回激情[未登錄](méi)  回復(fù)  更多評(píng)論   

            2008-05-11 11:06 by snow
            雖然不能理解你的困難,愿意一直支持:)

            # re: 周記:找回激情[未登錄](méi)  回復(fù)  更多評(píng)論   

            2008-05-12 00:19 by Alex
            #- - fox,請(qǐng)繼續(xù)……

            # re: 周記:找回激情  回復(fù)  更多評(píng)論   

            2008-05-13 03:10 by 陳梓瀚(vczh)
            算法導(dǎo)論中文版沒(méi)有翻譯完,得看原版。

            喜歡用STL可能有兩個(gè)原因
            1:在你學(xué)會(huì)數(shù)據(jù)結(jié)構(gòu)之前就已經(jīng)學(xué)會(huì)了STL
            2:你的程序的數(shù)據(jù)結(jié)構(gòu)不夠復(fù)雜

            過(guò)早地系統(tǒng)學(xué)習(xí)C++庫(kù)會(huì)喪失很多寫(xiě)程序的機(jī)會(huì)。過(guò)早地寫(xiě)應(yīng)用層的程序也會(huì)喪失很多寫(xiě)程序的機(jī)會(huì)。但是如果不過(guò)早學(xué)的話,就需要有強(qiáng)大的毅力來(lái)讓你忍耐枯燥和挫折,除非你對(duì)程序本身有很濃厚的愛(ài)。

            # re: 周記:找回激情  回復(fù)  更多評(píng)論   

            2008-05-13 08:27 by cppexplore
            能得出上面的結(jié)論,可能有下面幾個(gè)原因:
            1、在學(xué)會(huì)了數(shù)據(jù)結(jié)構(gòu)之后,至今還沒(méi)學(xué)會(huì)STL,至少對(duì)STL沒(méi)有全面的認(rèn)識(shí)
            2、在復(fù)雜程序的數(shù)據(jù)結(jié)構(gòu)面前,不能靈活應(yīng)用學(xué)過(guò)的數(shù)據(jù)結(jié)構(gòu)的精髓:思想
            3、尚未系統(tǒng)的學(xué)習(xí)c++庫(kù)
            4、尚未寫(xiě)過(guò)大型的應(yīng)用層程序
            5、對(duì)哲學(xué)沒(méi)有深入的思考。看問(wèn)題片面,主觀性強(qiáng)。

            吾生也有涯,爾知也無(wú)涯。共勉!

            # re: 周記:找回激情  回復(fù)  更多評(píng)論   

            2008-05-15 10:59 by 陳梓瀚(vczh)
            nono,真正的原因是,在學(xué)數(shù)據(jù)結(jié)構(gòu)的時(shí)候我構(gòu)造了一個(gè)能夠滿足我開(kāi)發(fā)那些編譯器和虛擬機(jī)需要的,代替STL的東西了- -b

            # re: 周記:找回激情  回復(fù)  更多評(píng)論   

            2008-05-15 17:31 by 買(mǎi)書(shū)網(wǎng)
            理論算法和編程實(shí)踐都不可或缺。

            # re: 周記:找回激情  回復(fù)  更多評(píng)論   

            2008-06-05 12:25 by foxtail
            @陳梓瀚(vczh)
            你比較特別餓
            久久精品亚洲福利| 伊人久久大香线蕉AV一区二区| 国产成人精品久久亚洲高清不卡 国产成人精品久久亚洲高清不卡 国产成人精品久久亚洲 | 丁香狠狠色婷婷久久综合| 久久久这里只有精品加勒比| 久久久久国产精品三级网| 精品无码人妻久久久久久| 国产精品美女久久久久av爽| 久久久久综合网久久| 欧美精品一区二区精品久久| 国产成人精品久久二区二区| 久久国产精品无码一区二区三区| 中文字幕热久久久久久久| 久久天天躁狠狠躁夜夜网站| 亚洲国产精品无码久久久不卡| 天天躁日日躁狠狠久久| 久久久精品人妻一区二区三区四| 无码AV中文字幕久久专区| 久久久久国产精品熟女影院| 国产一区二区三区久久| 天天久久狠狠色综合| 久久艹国产| 99久久免费国产精品特黄| 亚洲中文字幕无码久久精品1| 亚洲午夜久久久久久噜噜噜| 久久久久无码精品国产| 久久精品成人国产午夜| 亚洲国产一成久久精品国产成人综合| 婷婷久久五月天| 久久水蜜桃亚洲av无码精品麻豆| 国产一区二区三区久久| 久久久久九九精品影院| 色偷偷偷久久伊人大杳蕉| 青青草原1769久久免费播放| 热久久视久久精品18| 久久久久无码精品国产不卡| 丁香五月综合久久激情| 久久99精品久久久大学生| 91麻精品国产91久久久久| 99久久国产亚洲综合精品| 久久99精品国产99久久|