DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2014年6月20日

摘要: 构造函数构造函数的主要动作就是调用CreateIoCompletionPort创建了一个初始iocp。Dispatch和post的区别Post一定是PostQueuedCompletionStatus并且在GetQueuedCompletionStatus 之后执行。Dispatch会首先检查当前t... 阅读全文
posted @ 2014-06-20 14:41 DoubleLi 阅读(3851) 评论(0) 推荐(0)

摘要: 在实际产品运行中,对连接管理有了更新的认识,这里分享一下。shared_ptr管理连接对象的生命周期shared_ptr的引用计数器决定了连接对象的生命周期。这里我说的连接对象就是在我的前文:http://blog.csdn.net/csfreebird/article/details/852262... 阅读全文
posted @ 2014-06-20 14:33 DoubleLi 阅读(4394) 评论(0) 推荐(0)

摘要: 只有看boost源码才能弄明白发生了什么。首先我是将vector里面写入了数据,然后用boost::asio::buffer将vector构造成了mutable_buffer_1对象。参考该文档的重载形式:http://www.boost.org/doc/libs/1_53_0/doc/html/b... 阅读全文
posted @ 2014-06-20 14:29 DoubleLi 阅读(3826) 评论(0) 推荐(1)

摘要: 你要是看过basic_stream_socket的文档,里面提到async_write_some不能保证将所有要发送的数据都发出去。并且提到如果想这样做,需要使用boost asio的async_writehttp://www.boost.org/doc/libs/1_53_0/doc/html/b... 阅读全文
posted @ 2014-06-20 14:28 DoubleLi 阅读(10476) 评论(0) 推荐(0)

摘要: http://blog.csdn.net/caimouse/article/category/1339053 阅读全文
posted @ 2014-06-20 14:09 DoubleLi 阅读(422) 评论(0) 推荐(0)

摘要: 在开发C++程序时,一般在吞吐量、并发、实时性上有较高的要求。设计C++程序时,总结起来可以从如下几点提高效率:l 并发l 异步l 缓存下面将我平常工作中遇到一些问题例举一二,其设计思想无非以上三点。1任务队列1.1 以生产者-消费者模型设计任务队列 生产者-消费者模型是人们非常熟悉的模型,比如在... 阅读全文
posted @ 2014-06-20 11:24 DoubleLi 阅读(3727) 评论(0) 推荐(0)

摘要: io_service的作用io_servie实现了一个任务队列,这里的任务就是void(void)的函数。Io_servie最常用的两个接口是post和run,post向任务队列中投递任务,run是执行队列中的任务,直到全部执行完毕,并且run可以被N个线程调用。Io_service是完全线程安全的... 阅读全文
posted @ 2014-06-20 11:23 DoubleLi 阅读(550) 评论(0) 推荐(0)

摘要: boost::asio 在创建io_service时,可以指定线程数,如果没有指定,默认是一个线程,也就是io_service run的那个线程,如果没有任务运行,该线程会退出。 如果在创建的时候指定了线程数,那么io_service在执行的时候线程数就可以并发执行,如果你run的线程还是只有1... 阅读全文
posted @ 2014-06-20 11:20 DoubleLi 阅读(1257) 评论(0) 推荐(0)

摘要: Boost.Thread可以使用多线程执行可移植C++代码中的共享数据。它提供了一些类和函数来管理线程本身,还有其它一些为了实现在线程之间同步数据或者提供针对特定单个线程的数据拷贝。头文件:#include 线程定义boost::thread 类是负责启动和管理线程。每个boost::thread对... 阅读全文
posted @ 2014-06-20 11:11 DoubleLi 阅读(4138) 评论(0) 推荐(0)

摘要: 前言标准C++线程即将到来。预言它将衍生自Boost线程库,现在让我们探索一下Boost线程库。几年前,用多线程执行程序还是一件非比寻常的事。然而今天互联网应用服务程序普遍使用多线程来提高与多客户链接时的效率;为了达到最大的吞吐量,事务服务器在单独的线程上运行服务程序;GUI应用程序将那些费时,复杂... 阅读全文
posted @ 2014-06-20 11:10 DoubleLi 阅读(729) 评论(0) 推荐(0)

摘要: 阅读对象本文假设读者有几下Skills[1]在C++中至少使用过一种多线程开发库,有Mutex和Lock的概念。[2]熟悉C++开发,在开发工具中,能够编译、设置boost::thread库。环境[1]Visual Studio 2005/2008 with SP1[2]boost1.39/1.40... 阅读全文
posted @ 2014-06-20 11:09 DoubleLi 阅读(2817) 评论(0) 推荐(0)

摘要: 本来想自己写一篇关于boost thread的文章来着,从网上一搜,觉得这篇文章入门最合适了。转自:http://www.cppblog.com/janvy/archive/2010/03/25/110498.aspx最近在做一个消息中间件里面涉及到多线程编程,由于跨平台的原因我采用了boost线程... 阅读全文
posted @ 2014-06-20 11:08 DoubleLi 阅读(393) 评论(0) 推荐(0)