DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
上一页 1 ··· 330 331 332 333 334 335 336 337 338 ··· 474 下一页

2014年6月19日

摘要: from:http://www.cppblog.com/shanoa/archive/2009/06/26/88606.aspx花了足足3天时间,外加1天心情休整,终于在第5天编写出了一个能运行的基于asio和thread_group的框架,差点没气晕过去,把源码都看懂了才感觉会用了。测试了一下,d... 阅读全文
posted @ 2014-06-19 17:42 DoubleLi 阅读(1581) 评论(0) 推荐(0)

摘要: 错误码很重要,可以由此判断网络连接到底发生了神马事情,从而驱动高层逻辑的行为。只有笼统的错误码判断的网络层是不够规范的,鄙人觉得有些错误码还是需要在网络层就区分开的,特此记录一些当前实验的错误码以及发生原因。以下是一部分在async_receive()的handler处捕获到的比较有用的错误码错误码... 阅读全文
posted @ 2014-06-19 17:38 DoubleLi 阅读(1201) 评论(0) 推荐(0)

摘要: 我们的程序中经常会用到线程来执行某些异步操作,而有些时候我们的线程执行的函数是这个样子的:[cpp]view plaincopyprint?voidThreadBody(){while(true){std::cout#include/**注意,windows操作系统下若要编译此程序需要建立的是WIN... 阅读全文
posted @ 2014-06-19 14:46 DoubleLi 阅读(11527) 评论(0) 推荐(0)

摘要: 多线程编程中还有一个重要的概念:ThreadLocalStore(TLS,线程局部存储),在boost中,TLS也被称作TSS,ThreadSpecificStorage。boost::thread库为我们提供了一个接口简单的TLS的面向对象的封装,以下是tss类的接口定义:classtss{pub... 阅读全文
posted @ 2014-06-19 11:27 DoubleLi 阅读(3444) 评论(0) 推荐(0)

摘要: barrierbarrier类的接口定义如下:1classbarrier:privateboost::noncopyable//Expositiononly2{3public:4//construct/copy/destruct5barrier(size_tn);6~barrier();78//wa... 阅读全文
posted @ 2014-06-19 11:24 DoubleLi 阅读(523) 评论(0) 推荐(0)

摘要: 下面先对condition_impl进行简要分析。condition_impl在其构造函数中会创建两个Semaphore(信号量):m_gate、m_queue,及一个Mutex(互斥体,跟boost::mutex类似,但boost::mutex是基于CriticalSection的):m_mute... 阅读全文
posted @ 2014-06-19 11:23 DoubleLi 阅读(522) 评论(0) 推荐(0)

摘要: 除了thread,boost::thread另一个重要组成部分是mutex,以及工作在mutex上的boost::mutex::scoped_lock、condition和barrier,这些都是为实现线程同步提供的。mutexboost提供的mutex有6种:boost::mutexboost::... 阅读全文
posted @ 2014-06-19 11:22 DoubleLi 阅读(745) 评论(0) 推荐(0)

摘要: thread自然是boost::thread库的主 角,但thread类的实现总体上是比较简单的,前面已经说过,thread只是一个跨平台的线程封装库,其中按照所使用的编译选项的不同,分别决定使用 Windows线程API还是pthread,或者MacintoshCarbon平台的thread实现。... 阅读全文
posted @ 2014-06-19 11:21 DoubleLi 阅读(908) 评论(0) 推荐(0)

2014年6月16日

摘要: ---恢复内容开始---asioboost目录(?)[-]一前言二实现思路通讯包数据结构连接对象连接管理器服务器端的实现对象串行化一、前言boost asio可算是一个简单易用,功能又强大可跨平台的C++通讯库,效率也表现的不错,linux环境是epoll实现的,而windows环境是iocp实现的... 阅读全文
posted @ 2014-06-16 16:10 DoubleLi 阅读(9459) 评论(5) 推荐(2)

摘要: asio的主要用途还是用于socket编程,本文就以一个tcp的daytimer服务为例简单的演示一下如何实现同步和异步的tcp socket编程。客户端客户端的代码如下:#include#include#includeusingboost::asio::ip::tcp;intmain(intarg... 阅读全文
posted @ 2014-06-16 13:07 DoubleLi 阅读(3221) 评论(0) 推荐(0)

上一页 1 ··· 330 331 332 333 334 335 336 337 338 ··· 474 下一页