• <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国产精品二区不卡| 国产成人99久久亚洲综合精品 | 久久久久免费看成人影片| 一本色道久久88—综合亚洲精品| 亚洲伊人久久精品影院| 国产成人精品免费久久久久| 国产成人久久精品麻豆一区| 欧美亚洲国产精品久久| 精品久久久噜噜噜久久久| 久久se这里只有精品| 无码AV波多野结衣久久| 色欲综合久久躁天天躁| 久久精品99久久香蕉国产色戒| 99久久国产热无码精品免费久久久久| 日本精品久久久久影院日本| 久久久久亚洲av无码专区| 久久这里有精品视频| 日韩欧美亚洲综合久久影院d3| 精品国产日韩久久亚洲| 久久亚洲精品视频| 久久亚洲私人国产精品| 亚洲国产成人精品无码久久久久久综合 | 日本久久中文字幕| 精品人妻久久久久久888| 噜噜噜色噜噜噜久久| 成人精品一区二区久久| 国产精品久久久久久一区二区三区| 日本加勒比久久精品| 中文字幕日本人妻久久久免费| 久久久久99精品成人片三人毛片| 麻豆一区二区99久久久久| 亚洲精品久久久www| 国产日韩久久久精品影院首页 | 久久精品一区二区三区不卡| 国产69精品久久久久9999APGF| 久久精品国产色蜜蜜麻豆| 99久久精品国产综合一区| 四虎国产永久免费久久| 久久99精品久久久久久动态图 | 久久精品国产99国产精品澳门| 婷婷综合久久中文字幕蜜桃三电影|