• <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.¢% 閱讀(1862) 評論(3)  編輯 收藏 引用 所屬分類: Design Pattern
            線程有兩條

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

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

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

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

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

            Feedback

            # re: 代碼的壞味2  回復(fù)  更多評論   

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

            # re: 代碼的壞味2  回復(fù)  更多評論   

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

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

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

            # re: 代碼的壞味2  回復(fù)  更多評論   

            2008-12-17 23:10 by 肥仔
            剛剛特意再查了一下資料,找到了一片bbs,轉(zhuǎn)到了我自己的空間,你看看,是不是可能SendMessage死鎖
            http://www.shnenglu.com/woaidongmao/archive/2008/12/17/69696.html
            久久精品国产精品亚洲人人| 久久这里只有精品久久| 国内高清久久久久久| 奇米综合四色77777久久| 久久久无码精品亚洲日韩按摩 | 亚洲一区二区三区日本久久九| 久久精品国产清自在天天线| 一本一道久久a久久精品综合 | 国产精品久久午夜夜伦鲁鲁| 久久综合久久综合久久| 久久亚洲视频| 久久精品国产网红主播| 久久精品无码一区二区app| 99蜜桃臀久久久欧美精品网站| 国产精品久久精品| 久久午夜免费视频| 亚洲精品高清久久| 亚洲欧美日韩久久精品第一区| 久久91精品国产91久久小草| 一本久久综合亚洲鲁鲁五月天| 97久久精品人妻人人搡人人玩| 亚洲精品久久久www| 国产欧美一区二区久久| 久久亚洲精品成人无码网站 | 老色鬼久久亚洲AV综合| 国内精品久久久久久久久| 久久人人爽人人爽人人片AV不| 久久久国产精品| 久久精品国产免费| 日韩精品久久久久久久电影蜜臀| 久久精品国产黑森林| 久久精品视频网| 久久国产精品99精品国产| 国产精品乱码久久久久久软件| 岛国搬运www久久| 精品久久久久久久| 久久人人爽人人爽人人片av高请| 国产精品美女久久福利网站| 精品久久久久久国产免费了| 热99re久久国超精品首页| 国产精品免费看久久久|