什么是AIO? AIO就是允许应用程序启动一个或多个异步执行的I / O操作。 AIO的思想:进程发起I/O操作,而不用阻塞或等待任何操作完成,稍后或在接收到I/O操作完成通知时,进程可以I/O操作结果。 也就是说,你可以在进程读写文件的同时,干你自己相干的事,而不用等待进程读写数据,节省时间。 AIO的结构体: struct aiocb { ... 作者:ghorge 发表于 2019/02/28 17:44:00 原文链接 https://blog.csdn.net/ghorge/article/details/88036188 阅读:199 继续阅读 >>


马艺诚 19/02/28 17:44:00
写的服务器打开一个网页,汉字显示乱码,英文正常显示。 排查许久,因为服务器接受请求发送网页,发送端专门标识了charset:utf-8 ,查阅的资料都说要将编码转义,设置为utf-8 sprintf( header, "HTTP/1.1 %d %s\r\nServer: okokme\r\nContent-Length: %d\r\nContent-Type: %s;\r\ncharset:utf... 作者:kkkkde 发表于 2019/02/28 01:41:28 原文链接 https://blog.csdn.net/kkkkde/article/details/87999562 阅读:55 继续阅读 >>


胡锦雲 19/02/28 01:41:28
P01: 01背包问题 题目 有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。 基本思路 这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。 用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便是:f[i][... 作者:qq_41681241 发表于 2019/02/27 23:23:49 原文链接 https://blog.csdn.net/qq_41681241/article/details/87996981 阅读:18 继续阅读 >>


畅柯 19/02/27 23:23:49
1.内核事件表 epoll是Linux特有的I/O复用函数,首先,epoll使用一组函数来完成任务,而不是单个函数.其次,epoll把用户关心的文件描述符上的事件放在内核里的一个事件表中,epoll需要使用一个额外的文件描述符,来唯一标识内核的这个事件表. #include<sys/epoll.h> int epoll_create(int size) size只是告诉内核,事件表需... 作者:dream0130__ 发表于 2019/02/27 14:47:59 原文链接 https://blog.csdn.net/dream0130__/article/details/87972851 阅读:16 继续阅读 >>


吕海东 19/02/27 14:47:59
类 看类继承图 control + H 查看子类 command + U 跳转 上一个 option + command + < 下一个 option + command + > 作者:chudongfang2015 发表于 2019/02/27 11:11:02 原文链接 https://blog.csdn.net/chudongfang2015/article/details/87968947 阅读:53 继续阅读 >>


楚东方 19/02/27 11:11:02
web服务器是在物理服务器基础上的具有服务端功能的网络连接程序,简而言之就是处理客户端发来的各种请求然后根据服务器的逻辑处理返回一个结果给客户端。在web服务器和客户端之间的通信是基于HTTP协议进行的。而客户端可以是浏览器也可以是支持HTTP协议的APP。 客户端发送一个HTTP请求到服务器的请求消息包括以下格式: 请求行(request line)、请求头部(header)、空行和请... 作者:weixin_42201172 发表于 2019/02/27 01:23:43 原文链接 https://blog.csdn.net/weixin_42201172/article/details/87960991 阅读:25 继续阅读 >>


田正东 19/02/27 01:23:43
 I/O复用技术是重要的提高服务器工作效率和性能的手段,Linux下实现I/O复用的系统调用主要有select、poll和epoll。   首先我们来看一下select的函数原型和常用的宏: #include<sys/select.h> int select(int nfds, fd_set* readfds, fd_set* writefds, fd_set* exceptf... 作者:weixin_42201172 发表于 2019/02/27 01:10:21 原文链接 https://blog.csdn.net/weixin_42201172/article/details/87960330 阅读:18 继续阅读 >>


田正东 19/02/27 01:10:21
目前的大多数网络服务器,包括Web服务器、Email服务器以及数据库服务器等都具有一个共同点,就是单位时间内必须处理数目巨大的连接请求,但处理时间却相对较短。 传统多线程方案中我们采用的服务器模型则是一旦接受到请求之后,即创建一个新的线程,由该线程执行任务。任务执行完毕后,线程退出,这就是是“即时创建,即时销毁”的策略。尽管与创建进程相比,创建线程的时间已经大大的缩短,但是如果提交给线程的任务是执... 作者:weixin_42201172 发表于 2019/02/27 00:54:16 原文链接 https://blog.csdn.net/weixin_42201172/article/details/87959718 阅读:24 继续阅读 >>


田正东 19/02/27 00:54:16
半同步/半异步模式 半同步/半异步模式中的同步和异步和前面的IO模型中的同步和异步是完全不用的概念。在IO模型中,同步和异步区分的是内核向应用程序通知的是何种IO事件(是就绪事件还是完成事件),以及该由谁来完成IO读写(是应用程序还是内核)。在并发模式中,同步指的是程序完全按照代码序列的顺序执行,异步指的是程序的执行需要由系统事件来驱动。常见的系统事件包括中断 信号等。   按照同步... 作者:weixin_42201172 发表于 2019/02/27 00:34:34 原文链接 https://blog.csdn.net/weixin_42201172/article/details/87958002 阅读:27 继续阅读 >>


田正东 19/02/27 00:34:34
Reactor是这样一种模式,它要求主线程只负责监听文件描述上是否有事件发生,有的话就立即将该事件通知工作线程(逻辑单元,下同)。除此之外,主线程不做任何其他实质性的工作。读写数据,接受新的连接,以及处理客户请求均在工作线程中完成。 使用同步I/O模型(以epoll_wait为例)实现的Reactor模式的工作流程是 1)主线程往epoll内核事件表中注册socket上的读就绪事件。 2)主线程... 作者:weixin_42201172 发表于 2019/02/26 23:36:57 原文链接 https://blog.csdn.net/weixin_42201172/article/details/87955749 阅读:17 继续阅读 >>


田正东 19/02/26 23:36:57