异步服务端中的多线程
我在第4章 客户端和服务端展示的异步服务端是单线程的,所有的事情都发生在main()中:
int main() {
talk_to_client::ptr client = talk_to_client::new_();
acc.async_accept(client->sock(), boost::bind(handle_
accept,client,_1));
service.run();
}
异步的美妙之处就在于把单线程变为多线程的简单。你可...
分类:
编程语言 时间:
2014-11-11 10:50:49
阅读次数:
281
吃力的讲完boost::signals的ppt,然后接着就是做练习题。通过讲ppt,发现有一句话说的真好:你自己知道是一回事,你能给别人讲明白又是另外一回事。真的有些东西你自己理解,但是用语言去很难表达,是不是用语言难以表达暴露出自己对所理解的东西不是真正的理解?。。。。orz,不过讲完ppt之后,真的对boost::singals的理解又加深一层。好了废话不多说了,现在来看两个习题(ppt的内容...
分类:
其他好文 时间:
2014-11-10 12:06:38
阅读次数:
280
客户端应用中的异步I/O
主流程和同步客户端应用有点类似,不同的是Boost.Asio每次都位于async_read和async_write请求中间。...
分类:
编程语言 时间:
2014-11-10 09:58:20
阅读次数:
235
关于C++14:你需要知道的新特性遇见C++ LambdaC++14 lambda 教程C++11 lambda表达式C++标准库:使用 std::for_eachstd::generateC++“准”标准库Boost学习指南(10):Boost.Lambda
分类:
编程语言 时间:
2014-11-09 23:28:01
阅读次数:
178
一、Boost库介绍 Boost库是一个经过千锤百炼、可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一。Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,其成员已近2000人。 Boost库为我们带...
分类:
其他好文 时间:
2014-11-09 06:15:58
阅读次数:
201
今天看到了OC的内存管理这块,觉得很亲切。自己的习惯是尽量自己掌控程序的空间和时间,有点强迫症的感觉。用C和C++做项目的时候,时时刻刻都在操心这new和delete的配对使用和计数,学习stl和boost的时候看到了智能指针等时候,依然不是很爱使用,还是愿意坚持自己控制new和delete;后来用...
分类:
其他好文 时间:
2014-11-08 23:32:22
阅读次数:
308
Boost log 简单使用
flyfish 2014-11-8
该示例是在VC2010 MFC Unicode环境下使用
内容包括
1 启动关闭日志
2 设置日志存储路径
3 设置输出日志等级
4 日志是否立即写入文件
5 设置单个文件的大小
6 设置磁盘最小可利用空间
Logger.h
#pragma once
#include
#incl...
分类:
其他好文 时间:
2014-11-08 16:44:14
阅读次数:
401
昨天对长目标字符串下的各种正则匹配库性能进行了总结,得出结论是Boost regex性能最佳。今天将其应用到项目当中,果不其然,长字符串匹配带来的性能损失基本没有了,当然,目前规模并不算太大,但是在可预计规模内Boost可以完全达到要求。...
分类:
其他好文 时间:
2014-11-07 17:04:51
阅读次数:
209
服务端应用中的同步I/O
类似客户端,服务端也被分为两种情况用来匹配之前章节中的情况1和情况2。同样,两种情况都采用“发送请求-读取结果”的策略。...
分类:
编程语言 时间:
2014-11-07 11:23:05
阅读次数:
216
Python很强大,但已有的模块可能满足不了人民日益增长的物质文化需求,于是有时需要编写扩展模块进行完善。
可行的方案有很多:SWIG、Weave、ctypes、BOOST……
BOOST无疑是开发最快的一种方案。下面介绍下最简单的C++ helloworld程序如何变为Python的一个模块。
1. 安装Python、Boost
这里用Linux环境。Python...
分类:
编程语言 时间:
2014-11-07 11:17:36
阅读次数:
166