Rui
  • Home
  • Archives
  • Categories
  • Tags
  • About
  •   
  •   
error while loading shared libraries错误解决办法

error while loading shared libraries错误解决办法

最近想实现 Reactor 多线程模式,因为线程池可以使用了,接下来尝试 将epoll 封装下一些api, 后来想到 有个框架 Libevent 也是基于事件通知机制的库,将epoll封装成api,方便调用,以前有看过一点,但是没有用过,所以现在站在巨人的肩膀上看看他们是怎样写的: 看源码之前需要将这个代码跑通,起码会用才行,从编译源代码,到运行demo都遇到了些问题,这里做个总结吧 clone
2022-04-10
#bug
指针数组和数组指针

指针数组和数组指针

指针 ,数组, 函数 这个概念并不会陌生,但是组合起来 就有很多含义,总是搞混,如 数组指针 ,数组指针 ,函数指针等等... 死记硬背是不可能的,在这里总结下规律== 指针数组这个比较容易理解 ,我们日常使用的数组有 整型的数组,如 int a[100]; 有100个空间,里面都是存放整型变量的 , 也有浮点型的数组 float b[100]; 从前两个可以总结出这一类数组叫
2022-04-01
#基础语法
手写线程池-第一版

手写线程池-第一版

线程池是什么举个例子,在以前文章又提到过 好几种reactor模式 可以大概分为这几种 单 Reactor 单进程 / 线程: **接收数据 –> 解析数据 –> 发送数据 ** 单 Reactor 多线程 : 接收数据 –> fd 交给线程 –> 线程全程处理 ​
2022-03-28
#线程
线程的简单使用

线程的简单使用

线程方面的知识一直是很薄弱的, 所以再次翻开 《APUE 》 ,重新再看一遍 第11 章 线程,有不一样的收获,在这总结下 线程的一些使用方法 ; (PS: 发现以前好多看得云里雾里的书籍,现在重头看,有种恍然大悟的感觉!) 线程概念 进程是程序执行时的一个实例,是担当分配系统资源(CPU时间、内存等)的基本单位。在面向线程设计的系统中,进程本身不是基本运行单位,而是线程的容器。程序本
2022-03-25
#线程
http的小总结

http的小总结

最近看图解网络,在这里做个笔记 http的概念​ http -> 超文本传输协议,早期只是用来传输文本,现在可以用了传输音频图像,所以称为超文本协议 GET 与 POST get请求: get 意为得到,取得 get请求就是 请求从服务器获取资源,这个资源可以是静态的⽂本、⻚⾯、图⽚视频等。 post请求: post 投递的意思,他将指定的资源通过http协议提交服务器 说到g
2022-03-24
#网络
TCI/IP网络模型(层)

TCI/IP网络模型(层)

看图解网络的一些理解: 总的来说数据通过一层一层封装后 ,最终转换成电信号发送到另外一台主机,数据也从底层开始,一层一层的解包得到想要的数据;将每一层都专注自己的职责,对于开发者说更多只需要 关注应用层的处理就可以了。 此外本文 网络模型 整体做个介绍,后续会对每一层 比较主要的 知识点进行详解 应用层​ 使用的一些http,ftp,ssh,这些都是属于应用层,要发送的数据通过 应用层
2022-03-23
#网络
关于虚函数的一些总结

关于虚函数的一些总结

说到多态又可以联想到虚函数,虚函数又有很多相关问题,这次做个小总结 1 . 什么是虚函数 虚函数在有多态的前提下才有的特性,现在问题是多态是什么? 多态可以分为: ​ 静态多态:函数重载,根据参数不同,从而调用不同的函数(这里不做重点介绍) ​ 动态多态: 根据操作的对象不同,从而调用不同的函数(使用虚函数实现) 总的来说: 同一操作作用于不同的对象,可以有不同的解释,产
2022-03-12
#C++语法
reactor模式的介绍

reactor模式的介绍

说Reactor模式前 我们看下epoll实现的服务器有什么改进的地方 在上几篇博客有介绍 io多用复用 其中主要介绍了epoll,最后 epoll实现了 io多路复用的服务器,我们再捋一捋目前大致情况就是这样,现在是可以用,但是呢? 还可以优化下吗?因为每次都是要问三次情况,有点冗余了 客户端有连接也是通过一个fd来管理,也是可读事件,那么讲 客户端连接也纳入 可读事件里 现在如下图所示:
2022-03-12
#网络
char*和char[ ]的区别

char*和char[ ]的区别

关于此类的问题都放在这里了,不另起文章了 基础知识遇到了一道题目: 12345678910111213char *fun1() { char *x = "abcd"; return x;}char *fun2() { char str[] = "abcd"; //存放在静态数据区 return str;}in
2022-03-11
#基础语法
epoll中 LT 和 ET 区别

epoll中 LT 和 ET 区别

上文解释过epoll 原理,现在梳理下epoll 的用法和 epoll 中两个读取数据的模式 现在用epoll 实现一个多路复用的服务器(代码在最后) LT 水平触发 有数据到来就一直读,直到没有数据可以读取了 ET 边缘触发 有到无,读规定的字节数,没读完,下次有事件了再读取 读取客户端发来的数据时候,只读五个字节,看下ET和LT会有什么不同 ET模式下 必须使用非阻
2022-03-11
#网络编程
12345

Search

Hexo Fluid
Views: Visitors:
粤ICP备2022011229号 | police-icon 粤ICP备2022011229号