• <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>

            S.l.e!ep.¢%

            像打了激速一樣,以四倍的速度運轉(zhuǎn),開心的工作
            簡單、開放、平等的公司文化;尊重個性、自由與個人價值;
            posts - 1098, comments - 335, trackbacks - 0, articles - 1
              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            代碼的壞味2

            Posted on 2008-12-17 20:35 S.l.e!ep.¢% 閱讀(1872) 評論(3)  編輯 收藏 引用 所屬分類: Design Pattern
            線程有兩條

            線程1. 界面線程(主線程)
            線程2. 子線程(數(shù)據(jù)操作)

            線程1 與 線程2 都加了一個鎖,用于同步一個共享資源

            經(jīng)過調(diào)試,在某千均一發(fā)之際,線程2 由于操作慢了一點,這時線程1(界面)便會定死在那里,造成程序無反應

            后來,想到解決的方法,就是在線程1.訪問共享資源時,也開了一條子線程

            于是乎,
            在所有的 OnButton1_Click() 事件 都對應著一個 OnButton1_Click_Thread() 的線程函數(shù)……?

            Feedback

            # re: 代碼的壞味2  回復  更多評論   

            2008-12-17 21:58 by abettor
            線程1開的子線程可以用一個線程(池)來代替,OnButton1_Click()在實現(xiàn)的時候告訴線程池:“上帝,給我來一個線程吧,我要……”

            # re: 代碼的壞味2  回復  更多評論   

            2008-12-17 22:56 by 肥仔
            個人感覺搞錯了方向,可能的原因有2種
            1、死鎖,可能性不大,因為并不是每次都不行;
            2、工作線程執(zhí)行了更新界面的操作,且通過調(diào)用引用控件的方法來更新的。因為控件方法調(diào)用實際上是SendMessage,應該用PostMessage就不會錯了。

            考慮如下情況:
            按下按鈕,界面線程執(zhí)行OnButton,等待工作者線程釋放鎖;
            在同一時刻工作者線程更新界面,因為任何界面更新實際上都是界面線程完成(通過消息隊列),如果用的是SendMessage模式,工作者線程必須等待完成才可以走一下步,而等待完成的前提是OnButton完成。

            這樣就OnButton在等待鎖,工作者線程在等待OnButton完成才可以釋放鎖,無響應了,所以工作者線程更新,應該用PostMessage。

            # re: 代碼的壞味2  回復  更多評論   

            2008-12-17 23:10 by 肥仔
            剛剛特意再查了一下資料,找到了一片bbs,轉(zhuǎn)到了我自己的空間,你看看,是不是可能SendMessage死鎖
            http://m.shnenglu.com/woaidongmao/archive/2008/12/17/69696.html
            久久精品无码午夜福利理论片 | 久久久91人妻无码精品蜜桃HD| 亚洲国产美女精品久久久久∴| 久久久精品人妻一区二区三区蜜桃| 99久久夜色精品国产网站| 人妻少妇久久中文字幕| 女人香蕉久久**毛片精品| 欧美激情精品久久久久久久| 人妻丰满AV无码久久不卡 | 久久精品国产清高在天天线| 久久青青草原国产精品免费| 亚洲国产精品无码久久九九| 久久久久亚洲AV无码专区体验| 久久免费精品一区二区| 国产亚洲精久久久久久无码77777 国产亚洲精品久久久久秋霞 | 色综合久久综合网观看| 精品久久久久久国产免费了| 色综合久久无码中文字幕| 国产精品免费久久久久久久久 | 99精品国产在热久久| 亚洲精品视频久久久| 国产69精品久久久久9999| 久久久久久夜精品精品免费啦| 手机看片久久高清国产日韩| 欧美777精品久久久久网| 亚洲乱码中文字幕久久孕妇黑人| 久久国产精品免费一区二区三区| 国产精品久久久久国产A级| 国产精品美女久久福利网站| 精品视频久久久久| 久久成人国产精品二三区| 人妻精品久久无码专区精东影业| 亚洲午夜福利精品久久| 久久久精品波多野结衣| 久久99精品久久久久久噜噜| 99久久www免费人成精品| 99久久这里只有精品| 97久久精品午夜一区二区| 久久久无码一区二区三区| 久久亚洲AV成人出白浆无码国产| 天天躁日日躁狠狠久久 |