青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

S.l.e!ep.¢%

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

復(fù)雜的邏輯的BUG

Posted on 2009-03-04 08:48 S.l.e!ep.¢% 閱讀(1738) 評(píng)論(4)  編輯 收藏 引用 所屬分類: C++

在一個(gè)界面中的按鈕事件中需要向 所有在線的服務(wù)器 發(fā)送信息

void Dialog::Button_Click()
{

????map <unsigned long, CServer*>::iterator iter;
??? for ( iter = m_OnLineServers.begin(); iter != m_OnLineServers.end(); iter++ )
??? {
???????? iter->second->sendMsg();
??? }

}

所有 在線服務(wù)器 都存放在? m_OnLineServers? 這個(gè)列表中,這個(gè)列表是一個(gè) std::map
sendMsg()?? 內(nèi)部又調(diào)用了 SOCKET 函數(shù)的 send

當(dāng) send 執(zhí)行失敗時(shí),? 會(huì)通知 Dialog 的? OnServerClose() 事件
void Dialog::OnServerClose(int nIndex)
{
??map <unsigned long, CServer*>::iterator iter???= m_OffLineServers.find(nIndex);
??if ( iter != m_OffLineServers.end() )
??{
???m_OffLineServers.insert(make_pair<unsigned long, CServer*>(nIndex, iter_find->second));
???m_OnLineServers.erase(nIndex);
??}


OnServerClose() 事件需要把 CServer 從 Online 列表中刪除, 跟著添加到 OffLine 列表


結(jié)合起來(lái)看,就會(huì)出現(xiàn)在同一條線程中

遍歷 map
{
??? 刪除 map 元素
}

google了一下,網(wǎng)友們?cè)诒闅v的過(guò)程中刪除元素的方法是
for(iter = list.begin(); iter != list.end();)
{
??? if (shouldDelete(*iter))
?????? iter = list.erase(iter);
??? else
?????? ++iter;
}


似乎能解決問(wèn)題,

但從上面的邏輯來(lái)看, 遍歷跟刪除, 分別是在兩個(gè)不同的類, 這樣一來(lái)邏輯就復(fù)雜多了
通常BUG都是因?yàn)閺?fù)雜的邏輯而產(chǎn)生的。

Feedback

# re: 復(fù)雜的邏輯的BUG  回復(fù)  更多評(píng)論   

2009-03-04 09:07 by LOGOS
遍歷的過(guò)程很可能會(huì)調(diào)用一些刪除操作,而且調(diào)用得很隱含
這樣的情況是有的,而且不算什么異常的事情
這種情況下采用異步的刪除機(jī)制就可以了

# re: 復(fù)雜的邏輯的BUG  回復(fù)  更多評(píng)論   

2009-03-04 09:19 by qtopia
發(fā)送消息的時(shí)候,建立一份m_onlineServers的拷貝,在拷貝中發(fā)送消息

# re: 復(fù)雜的邏輯的BUG  回復(fù)  更多評(píng)論   

2009-03-04 09:37 by zuhd
只要是同一份內(nèi)存數(shù)據(jù),在同一個(gè)線程中,就不會(huì)出現(xiàn)所謂沖突的問(wèn)題,仔細(xì)檢查下代碼,看看,你后面說(shuō)的遍歷刪除map的問(wèn)題是防止刪除最后一個(gè)元素的時(shí)候越界

# re: 復(fù)雜的邏輯的BUG  回復(fù)  更多評(píng)論   

2009-03-04 15:13 by Nobody
迭代器遍歷的時(shí)候,如果對(duì)容器添加或者刪除元素,容易造成混亂。
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            美女黄毛**国产精品啪啪 | 亚洲一区三区视频在线观看| 欧美一级欧美一级在线播放| 久久久精品国产免大香伊| 欧美中文字幕在线视频| 夜夜嗨av色一区二区不卡| 免费欧美日韩| 欧美亚洲视频在线看网址| 香蕉乱码成人久久天堂爱免费| 亚洲欧美不卡| 欧美伊久线香蕉线新在线| 欧美影院成年免费版| 久久久久久久一区| 一本色道久久综合亚洲精品高清| 麻豆91精品91久久久的内涵| 欧美福利电影网| 一本大道久久a久久精二百| 午夜精品影院在线观看| 亚洲专区在线视频| 一区二区电影免费观看| 亚洲一区二区成人| 久久成人免费电影| 欧美刺激性大交免费视频| 欧美日韩在线观看一区二区三区| 欧美性猛交xxxx乱大交蜜桃| 国产精品中文在线| 亚洲精品免费电影| 久久精品三级| 亚洲美女av在线播放| 欧美亚洲在线视频| 欧美日韩免费高清一区色橹橹| 国产精品久久午夜夜伦鲁鲁| 亚洲国产欧美日韩| 久久国产99| 妖精视频成人观看www| 久久精品视频网| 国产精品国产三级国产aⅴ无密码| 国产一区二区三区直播精品电影| aa国产精品| 欧美国产91| 亚洲永久在线观看| 欧美视频一区二| 91久久精品国产91性色| 久久精品国产一区二区三区| 99精品欧美| 欧美搞黄网站| 含羞草久久爱69一区| 欧美在线黄色| 一区二区三区四区五区在线| 久久综合一区二区| 国产永久精品大片wwwapp| 亚洲一区二区三区午夜| 亚洲春色另类小说| 久久精品人人做人人综合 | 欧美不卡激情三级在线观看| 国内成人在线| 久久免费高清| 欧美一区在线看| 国产香蕉久久精品综合网| 亚洲欧美日韩中文在线制服| 一区二区免费在线播放| 欧美色123| 亚洲自拍偷拍网址| 一本到12不卡视频在线dvd| 欧美日韩国产丝袜另类| 亚洲少妇自拍| 亚洲视频在线观看免费| 国产精品国内视频| 欧美成人精品一区| 久久综合一区二区三区| 原创国产精品91| 欧美成黄导航| 久久视频免费观看| 亚洲国产视频一区二区| 亚洲黄色在线观看| 欧美美女bbbb| 亚洲主播在线播放| 午夜精品一区二区三区在线播放| 国产精品手机在线| 久久久久久穴| 美日韩精品免费观看视频| 日韩视频在线播放| 亚洲少妇自拍| 激情五月婷婷综合| 亚洲国产欧美不卡在线观看| 欧美亚一区二区| 亚洲欧美日韩国产中文在线| 性色av一区二区三区| 伊人久久大香线蕉综合热线| 亚洲高清视频的网址| 国产精品h在线观看| 久久久综合免费视频| 欧美成人激情在线| 欧美影院成年免费版| 久久久久久久91| 亚洲精品一区二区三区樱花| 亚洲图片激情小说| 亚洲片国产一区一级在线观看| 亚洲乱码国产乱码精品精| 国产欧美一区二区三区国产幕精品| 另类成人小视频在线| 欧美区一区二| 久久五月激情| 国产精品v日韩精品v欧美精品网站| 久久久www成人免费精品| 欧美黄色一级视频| 久久国产精品久久国产精品| 欧美激情精品久久久久久免费印度| 午夜亚洲性色福利视频| 久久亚洲精品欧美| 欧美专区在线观看一区| 欧美精品v日韩精品v国产精品| 亚洲精品久久在线| 国内视频一区| 亚洲性视频h| 日韩视频中午一区| 玖玖玖国产精品| 久久riav二区三区| 国产精品成人观看视频免费| 欧美不卡三区| 国产在线国偷精品产拍免费yy| 亚洲精品视频一区二区三区| 国内精品久久久久影院 日本资源 国内精品久久久久伊人av | 午夜精品美女自拍福到在线| 亚洲茄子视频| 久久综合亚州| 快she精品国产999| 国内精品久久久久影院薰衣草| 亚洲精品影院| 欧美不卡三区| 欧美电影在线观看| 久久久www成人免费精品| 欧美日韩在线一区| 亚洲人被黑人高潮完整版| 亚洲国产高潮在线观看| 欧美一区二区视频在线观看2020 | 欧美日韩国产首页| 亚洲高清不卡av| 亚洲黄网站黄| 老鸭窝91久久精品色噜噜导演| 久久精品国产77777蜜臀| 国产欧美精品一区| 欧美一区2区三区4区公司二百| 一道本一区二区| 欧美视频中文字幕在线| 一区二区高清| 亚洲综合999| 国产美女精品一区二区三区| 亚洲欧美日韩国产成人| 欧美在线观看视频一区二区三区| 国产精品美女在线观看| 亚洲免费视频网站| 毛片av中文字幕一区二区| 1000部国产精品成人观看| 免费国产一区二区| 91久久极品少妇xxxxⅹ软件| 99精品免费网| 国产精品mm| 午夜精品久久久久久久99樱桃| 久久久久久久久蜜桃| 在线精品福利| 欧美国产成人在线| 亚洲亚洲精品三区日韩精品在线视频| 亚洲综合国产| 精品99一区二区| 欧美成人dvd在线视频| 亚洲视频你懂的| 欧美风情在线观看| 午夜在线精品| 91久久在线| 国产亚洲一区二区三区在线播放| 美女网站久久| 午夜国产精品视频| 亚洲黄色视屏| 久久天堂av综合合色| 一区二区三区四区蜜桃| 国内外成人免费激情在线视频| 欧美激情二区三区| 欧美亚洲综合另类| 在线亚洲激情| 亚洲狠狠婷婷| 久久免费偷拍视频| 亚洲欧美乱综合| 日韩视频二区| 国产日韩欧美中文在线播放| 欧美激情亚洲视频| 久久久一本精品99久久精品66| 中国亚洲黄色| 亚洲精品美女91| 嫩草影视亚洲| 午夜精品一区二区三区在线播放| 亚洲国产美女久久久久| 国产亚洲欧美激情| 国产精品电影在线观看| 欧美激情精品久久久久久黑人| 亚洲欧美日本日韩| 在线视频精品一| 99精品国产热久久91蜜凸| 亚洲国产精品v| 91久久精品www人人做人人爽|