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

            Error

            C++博客 首頁 新隨筆 聯系 聚合 管理
              217 Posts :: 61 Stories :: 32 Comments :: 0 Trackbacks
            // learn_boost_asio.cpp : 定義控制臺應用程序的入口點。
            //
            #include "stdafx.h"
            #include <iostream>
            #include <algorithm>
            #include <memory>
            #include <boost/asio.hpp>
            #include <boost/timer.hpp>
            #include <boost/lambda/lambda.hpp>
            #include <boost/function.hpp>
            #include <boost/bind.hpp>
            namespace asio = boost::asio;
            namespace posix_time = boost::posix_time ;
            // 1.同步定時器使用
            void LeanrHowToUseSynchronouslyTimer()
            {
            asio::io_service io;
            asio::deadline_timer deadLineTimer(io, posix_time::seconds(3));
            boost::timer timerTestDeadLineTimer;
            timerTestDeadLineTimer.restart();
            deadLineTimer.wait();
            double dTime = timerTestDeadLineTimer.elapsed();
            std::cout << dTime << std::endl;
            }
            ////////~
            // 2.異步定時器使用
            class CSomeObject
            {
            public:
            CSomeObject(asio::io_service& ioService) :
               m_deadLineTimer(ioService)
            {
            }
            public:
            void Test()
            {
            m_deadLineTimer.expires_from_now(boost::posix_time::seconds(3));
            m_timerTestDeadTimer.restart();
            m_deadLineTimer.async_wait(
            boost::bind(&CSomeObject::TimerHandler, this, asio::placeholders::error));
            }
            public:
            void TimerHandler(const boost::system::error_code&)
            {
            double dTime = m_timerTestDeadTimer.elapsed();
            std::cout << "time passed: " << dTime << std::endl;
            }
            private:
            boost::timer m_timerTestDeadTimer;
            asio::deadline_timer m_deadLineTimer;
            };
            void LearnHowToUseAsynchronouslyTimer()
            {
            asio::io_service ioService;
            CSomeObject obj(ioService);
            obj.Test();
            asio::io_service::work* pWork = new asio::io_service::work(ioService);
            std::auto_ptr<asio::io_service::work> spWork(pWork);
            ioService.run();
            //spWork.reset(); // Allow run() to exit. 
            }
            //////////////////////////////////////////
            int _tmain(int argc, _TCHAR* argv[])
            {
            LearnHowToUseAsynchronouslyTimer();
            return 0;
            }
            posted on 2013-03-08 18:04 Enic 閱讀(797) 評論(0)  編輯 收藏 引用 所屬分類: boost::asio
            1000部精品久久久久久久久| 久久99精品国产自在现线小黄鸭 | 久久av无码专区亚洲av桃花岛| 精品国产乱码久久久久软件| 性色欲网站人妻丰满中文久久不卡| 国内精品久久久久伊人av| 99久久精品国内| 国产成人精品久久亚洲高清不卡 | 狠狠色丁香婷婷综合久久来| 色婷婷噜噜久久国产精品12p| 久久久久久精品久久久久| A级毛片无码久久精品免费| 麻豆av久久av盛宴av| 精品国产一区二区三区久久久狼| 久久久久国产一级毛片高清板| 久久国产免费观看精品3| 久久男人AV资源网站| 一本大道久久a久久精品综合 | 久久精品视频免费| A级毛片无码久久精品免费| 午夜视频久久久久一区 | 久久久久一本毛久久久| 久久99热只有频精品8| 亚洲人成精品久久久久| 精品乱码久久久久久夜夜嗨| 久久青青草原精品影院| 久久香蕉国产线看观看99| 亚洲精品蜜桃久久久久久| 欧美精品丝袜久久久中文字幕 | 亚洲精品tv久久久久久久久久| 精品综合久久久久久88小说| 国内精品伊人久久久久| 久久精品国产亚洲av水果派| 久久久久久国产精品美女| 亚洲精品无码专区久久同性男| 国内精品伊人久久久久影院对白 | 亚洲欧美日韩精品久久亚洲区| 久久精品国产精品亚洲| 久久综合日本熟妇| 亚洲精品无码久久不卡| 久久精品国产亚洲AV蜜臀色欲|