分类
发现
榜单
服务器优惠
AI论文
免费AI编程助手
搜索
注册
登录
分类
发现
榜单
服务器优惠
AI论文
免费AI编程助手
搜索
注册
登录
搜索
书栈网 · BookStack
本次搜索耗时
0.022
秒,为您找到
52
个相关结果.
搜书籍
搜文档
低精度定时器的使用
748
2020-05-11
《TBOX 1.5.x 使用教程》
tbox提供了两种定时器: 一种是基于最小堆的高精度定时器,精确到ms级别,但是时间复杂度在O(logn) 还有一种就是基于timing-wheel时间轮算法的低精度定时器,时间复杂度仅为O(1),实常数级别的,相当的快。 这个定时器是参考了linux内核的timer算法实现,不过linux那个比较通用,实现复杂,tbox中为了考虑精简性和低资源,对...
利用transfer_pool进行批量并发下载
615
2020-05-11
《TBOX 1.5.x 使用教程》
TBOX提供上层高度封装的传输池来进行客户端的并发批量下载、上传、文件复制、socket数据透传等io传输需求。 投递到transfer_pool传输池的所有任务都是异步并发处理的。如果对并发量要求不高的话,例如客户端应用,那么使用全局的tb_transfer_pool()就足够了。 全局的transfer_pool使用了全局的tb_aicp(),并且...
demo测试实例
704
2020-05-11
《TBOX 1.5.x 使用教程》
demo使用 比较使用的一些测试demo TBOX的所有测试代码都在./src/demo 下面,基本上包含所有模块的测试。 demo使用 编译完TBOX后会在./src/demo下面生成一个demo.b的测试程序,用msvc编译出来的为demo.exe 直接运行:./src/demo/demo.b 则会列出所有测试模块: [ demo ]: ...
异常捕获
818
2020-05-11
《TBOX 1.5.x 使用教程》
TBOX封装了一套跨平台的异常捕获实现,来模拟windows的seh异常处理功能,而且是线程安全的。 在linux/mac下的实现: 使用signal 捕获异常信号 使用sigsetjmp保存现场寄存器和信号掩码,出现异常后使用 siglongjmp 跳转到异常处理过程,并恢复状态 使用线程局部存储维护 sigjmpbuf 寄存器现场状态堆栈,保证多线...
利用stream实现一个简单的http下载器
574
2020-05-11
《TBOX 1.5.x 使用教程》
其实这个http下载器的功能已经相当完善了,支持:限速、post投递和上传、自定义http header、设置user agent、设置range和超时 而且它还不单纯只能下载http,由于使用了stream,所以也支持其他协议,你也可以用它来进行文件之间的copy、纯tcp下载等等。。 使用方式: ./demo http://xxxxx/file ...
使用aicp实现事件回调模式
776
2020-05-11
《TBOX 1.5.x 使用教程》
相对于asio事件等待池aiop的reactor模式,基于proactor模式的事件回调池aicp封装的更加的上层。 在类unix系统上 底层是基于aiop的实现,在一个线程里面进行事件等待,然后分发所有事件,在worker中处理完后调用回调返回到上层。 并对不同系统的aiop支持力度,进行针对性优化。 如果aiop支持边缘触发(例如:epoll...
利用正则实现匹配和替换
709
2020-05-11
《TBOX 1.5.x 使用教程》
tbox里面针对三个正则库(pcre/pcre2/posix)进行了封装,实现接口统一和跨平台处理,只要xmake在编译配置的时候自动检测到其中一种库,就可以使用了,一般会优先使用pcre2。 如果你不想过多的依赖第三方库,可以切换到posix的正则,调用 xmake f --pcre=false --pcre2=false 把pcre的库禁用了就行了...
线程池的使用
662
2020-05-11
《TBOX 1.5.x 使用教程》
TBOX的线程池通过在每个worker中批量一次拉取多个task,对锁的竞争进行了优化。 由于每个task的函数实现不会太多,所以可以根据每个task的函数地址做hash,统计出每个task执行所花费的平均时间。然后根据这个平均值来动态计算每个worker一次拉取的task的数量,TBOX里面默认每个worker一次拉取10s的task量,这样可以尽可能...
排序和查找算法的使用
675
2020-05-11
《TBOX 1.5.x 使用教程》
TBOX提供了各种常用算法,对容器中的元素进行各种操作,这里主要介绍下排序和查找算法。 排序算法目前支持如下几种: 快速排序:tb_quick_sort 堆排序: tb_heap_sort 插入排序:tb_bubble_sort 冒泡排序:tb_insert_sort 并且提供通用的tb_sort接口,对各种排序算法进行自动适配,使得任何情况下,性...
vector的使用
495
2020-05-11
《TBOX 1.5.x 使用教程》
tbox的vector容器沿用了stl库中vector的命名,说白了就是以数组方式存储元素,也是整个容器库中最基础的容器之一。 当然,在c中用tbox的vector跟用stl的vector其实差不了太多,用起来都很方便。 先看个简单的例子熟悉下: // 初始化一个维护大小写敏感字符串的vector容器,第一参数设置元素自动增长大小,这里使用...
1..
«
1
2
3
4
»
..6