- C++11新特性 右值引用
减少无畏的深拷贝,使用间拷贝改变资源的所有权
把文件描述符设置为-1是为了重用数组里面的元素,现在我们用一整块的堆内存,就不用重用那个数组了
- 线程池 手写线程和线程池的区别 需要自己创建和销毁 在主线程里建立连接,在子线程通信,而线程池则是直接在主线程创建,在子线程干活,由管理者控制,定义生成
- epoll poll和select基于线性表 epoll红黑树 加事件 可以触发回调函数及时处理
- select最大1024 参数里面有拷贝
方便处理,但不能跨平台Linux
对epoll树的三种操作 添加 修改 删除 删除的话事件当然没有了null
- epoll所关心的事件
绝大部分是epollin
epollET修改触发方式
事件里的另一个数据属性 传递出来的备注信息,大多数是说哪个文件描述符 void类型就是传输得到的信息很多,申请一块内存专门记录一下,将来epoll-wait会读取出来
- epoll-wait参数
第一个是创建的文件描述符,第二个就是那个结构体,第三个就是说明结构体数组的最大容量,如果触发的一致那么返回的这个函数返回值int和数组里面元素个数相同,第四个是阻塞时间,-1就是一直阻塞检测,毫米10
- 处理流程
难道忘记了TCP服务器端通信的流程了嗎?监听套接字,连接私人的套接字
- 非阻塞IO模式
fctrol函数 变参函数 无接受函数无关,而是关乎文件描述符的性质,句柄 里的内存表
sudo yum install openssh-server g++ gdb make rsync zip
sudo service ssh start - 奇偶变换和int和char类型转换
int变char要加0,如果是逆着输出减减,要》=0
- pair排序
首元素按照大小排序,如果相同按照,第二个元素排序
- 为什么要用静态数组模拟区间
为什么会多数组这么多组呢 因为每输入一组,就修改了后面的值,不能让回回都被修改 静态数组和数组初始化都为0,不是修改的原因,而是分配空间 问老王!
王天一:
C语言中,局部变量不会自动初始化王天一:
所以如果你需要它初始化为0,要么用全局变量或者static变量,要么手动地memset为0