简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
在这个多核时代,服务端网络编程如何选择线程模型呢? 赞同libev作者的观点:one loop perthread is usually a good model(一个线程有一个事件循环是一个好的事件模型),这样多线程服务端编程的问题就转换为如何设计一个高效且易于使用的event loop,然后每个线程run一个event loop就行了(当然线程间的同步、互斥少不了,还有其它的耗时事件需要起另外
TARS是基于名字服务使用Tars协议的高性能RPC开发框架,同时配套一体化的服务治理平台,帮助个人或者企业快速的以微服务的方式构建自己稳定可靠的分布式应用。
文章目录一、迭代器失效问题二、如何解决迭代器失效问题三、迭代器失效底层原理一、迭代器失效问题迭代器的失效问题:对容器的操作影响了元素的存放位置,称为迭代器失效。失效情况:1.当容器调用erase()方法后,当前位置到容器末尾元素的所有迭代器全部失效。2.当容器调用insert()方法后,当前位置到容器末尾元素的所有迭代器全部失效。3.如果容器扩容,在其他地方重新又开辟了一块内存。原来容...
文章目录一、string字符串对象的迭代器iterator实现二、实现vector容器的迭代器一、string字符串对象的迭代器iterator实现我们先来看这个例子:使用库中的string,那么string的对象str1叫容器吗?string str1 = "hello world!";//str1叫容器吗?叫容器,其底层放了一组char类型的字符,也是容器。若想用指针遍历其底层字符...
Muduo网络库:底层实质上为Linux的epoll + pthread线程池,且依赖boost库。 muduo的网络设计核心为一个线程一个事件循环,有一个main Reactor负载accept连接,然后把连接分发到某个sub Reactor(采用轮询的方式来选择sub Reactor),该连接的所用操作都在那个sub Reactor所处的线程中完成。多个连接可能被分派到多个线程中,以充分利用C
ElasticSearch是一个分布式、可水平扩展的搜索和数据分析引擎,是用java开发并且是当前最流行的开源的企业级搜索引擎,能够达到实时搜索,并且设计了友好的Restful-API使得开发者无需关注底层机制,直接开箱即用;还拥有分片、副本机制解决了集群下性能与高可用问题。稳定、可靠、快速、安装使用方便,客户端还支持java、C#、PHP、Python、Ruby等多种语言。
1.//将字符串转出数字 “123a45”->123int Myatoi(const char *str){int tmp = 0;while(isdigit(*str)){tmp = tmp*10 + (*str - '0');str++;}return tmp;}2.//将str逆置。“abc”->“cba”void StrRervers...
文章可能比较长,如果想仔细了解结构体知识的话请大佬们耐心看完。文章目录一、结构体基本使用二、结构体常见赋值问题及解决三、结构体与一级指针嵌套四、结构体与二级指针嵌套五、结构体偏移量六、内存对齐问题一、结构体基本使用基本规则与使用方法:1.正常结构体定义时不能赋初值;struct Person{char name[64];//int age = 50;//定义时不能赋初值,只有使...
Json是一种轻量级的数据交换格式(也叫数据序列化方式)。Json采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 Json 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
文章目录一、系统提供的函数:strstr二、自己实现strstr函数一、系统提供的函数:strstr系统提供的查找子串为:strstr。:在字符串 haystack 中查找第一次出现字符串 needle 的位置,不包含终止符 ‘\0’。函数声明:char *strstr(const char *haystack, const char *needle)参数:haystack:要被检索的...