- 博客(8)
- 资源 (7)
- 收藏
- 关注
原创 使用boost io_service时,需要注意的东西
boost::asio 在创建io_service时,可以指定线程数,如果没有指定,默认是一个线程,也就是io_service run的那个线程,如果没有任务运行,该线程会退出。 如果在创建的时候指定了线程数,那么io_service在执行的时候线程数就可以并发执行,如果你run的线程还是只有1个,那么io_service想多线程执行也没有条件,asio在内部是没有创建多线程的,所
2012-12-03 17:52:31
6723
1
原创 UDP boost::asio的实现
最近在研究网络相关的东西,发现之前对UDP的理解很弱,太依赖于TCP,依赖到甚至忘记了还有一个UDP的存在。于是在网上随便搜了UDP socket编程的相关代码和资料,发现有人写的编程例子里面居然还有connect的存在,我很无语。 UDP相对于TCP而言是不可靠的传输协议,在网络环境较差的情况下用TCP无疑是唯一的选择,在网络环境很好的情况下,比如局域网内部的消息传输,进程与进程
2012-11-29 10:40:26
15748
2
原创 无锁map的实现
前一段时间看了关于无锁map实现的相关技术,主要用到了cas,faa等。 如果你还不了解cas和faa可以去baidu一下。cas和faa之所以效率比锁要高,是因为他们利用了cpu的特征,在切换时不需要考虑内存上下文。 这里就产生了一种无锁map的实现思路,可以继承自stl的map,自己进行一层封装,通过cas技术来实现锁的机制,对封装后的插入,删除等操作使用通过c
2012-11-24 15:05:23
5959
6
原创 创建函数的非阻塞运行模式2
上一篇介绍了一种非阻塞模式的运行,可以解决大部分的问题,可是无法获取函数执行后的返回值,这个当然可以通过改变接口,将返回值以参数的引用形式传入,在一定程度上可以规避这种问题,下面介绍一种可以获取到函数返回值的方式。(上一篇中对于函数在超时情况下还未返回,建议用户杀死线程,detach的操作其实没啥用,只是放弃对那个线程的管理而已,线程还在)#include "boost/thread/futu
2012-11-23 13:39:25
1171
1
原创 创建函数的非阻塞运行模式
首先庆祝下优快云帐号找回,呵呵1年多没用了。现在潜心研究一些技术方面的东西,大家有兴趣可以多交流交流。将函数的运行调整为非阻塞模式大家可能平时不怎么用到,但是当大家写插件化程序时,插件是别人写的,为了不影响你的整套流程,可以使用这个方法,当函数运行时间超过你设定的时间时,就认为函数是执行失败。 好了,直接上代码。#include #include "boost/bi
2012-11-21 20:58:43
1110
3
原创 fedora 开机画面 输入用户名和密码的地方卡住了
<br />这个据我目前知道的 有2个原因<br />1: 可能是fedora的bug 可以参考fedora14的bug解决<br />2: 就是我自己的问题,修改/etc/profile 文件的时候 PATH没修改对 所以卡住了 <br /> <br /> <br /> <br /> <br />大家遇到了别烦恼 一般就这2个问题
2011-04-11 09:49:00
2292
原创 listctrl显示缩略图
<br />今天忙了1下午, 想解决listctrl 显示缩略图的问题, 具体遇到的问题是 如何让插入的item换行, 因为我没有要scroll, 想通过点击下一页, 上一页来显示剩下的图片, <br /> 不需要重载, 但是问题是 1个item占得rect值无法得到, getitemrect得到的极其不准, 还是留下了1个遗憾
2011-02-18 18:46:00
1304
原创 Hbase-0.20.6 C++API的使用
<br />运行 DemonClient.cpp 一直失败, 后来发现 必须得先启动thrift进程才可以!!!<br /> <br />./bin/hbase-daemon.sh start thrift [--port=PORT]<br /> <br /> <br /> <br /> <br />各位网友 切记 切记!
2011-02-17 10:28:00
1341
1
CFiledLG 定制
2010-09-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人