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

            Focus on ACE

            訂閱 ace-china
            電子郵件:
            瀏覽存于 groups.google.com 上的所有帖子

            C++博客 首頁 新隨筆 聯系 聚合 管理
              64 Posts :: 3 Stories :: 22 Comments :: 0 Trackbacks

            *ACE_Message_Block小知識*
            http://spaces.msn.com/stonejiang/blog/cns!A4A8B7175059E42A!273.entry

            ? ** ** ?1 copy() 不需要讓寫指針后移.
            ? ACE_Message_Block* mb = new ACE_Message_Block(BUFSIZ);
            ? mb->copy(buff); //buff先已經初始化
            2 初始化mb后需要后移指針的情況
            ? 2.1
            ? ACE_Message_Block* mb = new ACE_Message_Block(buff,len);
            ? mb->wt_ptr(len); ?//len是buff的長度 len = strlen(buff) +1
            ? ? ? ? ? ? ? ? ? ? // +1 表示后面的\0
            ? 2.2
            ? ACE_Message_Block* mb = new ACE_Message_Block(BUFSIZ);
            ? ACE_OS::sprintf(mb->wt_ptr(),buff);
            ? mb->wt_ptr(len);
            ? 2.3
            ? ACE_Message_Block* mb = new ACE_Message_Block(len,
            ? ? ? ? ? ? ACE_Message_Block::MB_DATA,
            ? ? ? ? ? ? mb2, ? //表示 mb->cont(mb2)
            ? ? ? ? ? ? buff)
            ? mb->wt_ptr(len);
            3.讓消息接成串cont()時,千萬不要直接或接間的把它接成一個環
            ? ?mb->cont(mb2);
            ? ?mb2->cont(mb3); //ok
            ? ?***mb3->cont(mb); ?//死定了
            4.通知其它線程結束時,可以通過ACE_Message_Block::MB_STOP

            ? ACE_Message_Block* lastMsg =ACE_Message_Block ,ACE_Message_Block::MB_STOP)
            ? otherTask->putq(lastMsg);

            ? otherTask在接收到的時候如下處理

            ?

            ??? int ?OtherTask::svc()?
            ???
            {?
            ??????????ACE_Message_Block
            * ?mb;?
            ???????????
            while ( 1 )?
            ???????????
            {?
            ?????????????getq(mb);?
            ????????????
            if (mb -> get_tpye()? == ?ACE_Message_Block::MB_STOP)?
            ???????????
            {?
            ??????????????mb
            -> release();?
            ??????????????
            break ;? // 退出這個永久限環)?
            ???????????}
            ?
            ???????????
            else ?
            ???????????
            {?
            ??????????????handle_message(mb);?
            // 處理這條消息?
            ???????????}
            ?
            ???
            return ? 0 ;?


            ????}
            ?


            ?

            --
            Stone Jiang

            posted on 2006-04-12 15:48 Stone Jiang 閱讀(1171) 評論(0)  編輯 收藏 引用 所屬分類: ACE
            国内精品伊人久久久久妇| 99久久免费只有精品国产| 亚洲va久久久久| 中文字幕久久精品无码| 国产一级持黄大片99久久| 久久伊人色| 97精品国产91久久久久久| 日韩影院久久| 女人香蕉久久**毛片精品| 国产精品99久久久精品无码 | 久久不见久久见免费影院www日本| 国内精品久久久久久久coent| 中文字幕无码免费久久| 久久久91人妻无码精品蜜桃HD | 久久人与动人物a级毛片| 久久久青草久久久青草| 久久人妻少妇嫩草AV蜜桃| 91久久香蕉国产熟女线看| 人妻无码久久一区二区三区免费 | 国产福利电影一区二区三区久久久久成人精品综合 | 久久综合久久美利坚合众国 | 麻豆av久久av盛宴av| 国产精品九九久久免费视频| 久久av无码专区亚洲av桃花岛| 一本久久综合亚洲鲁鲁五月天| 国内精品久久久久久久亚洲| 国产一级做a爰片久久毛片| 日日躁夜夜躁狠狠久久AV| 久久婷婷人人澡人人爽人人爱| 久久精品国产欧美日韩| 久久国产成人午夜AV影院| 88久久精品无码一区二区毛片| 国产欧美一区二区久久| 国产高潮国产高潮久久久| 欧洲人妻丰满av无码久久不卡| 狠狠色丁香久久婷婷综合| 国产精品成人久久久| 欧美亚洲国产精品久久| 青青草原综合久久大伊人| 久久天天躁狠狠躁夜夜不卡| 狠狠色丁香久久婷婷综合|