网站首页 站内搜索

搜索结果

查询Tags标签: epoll,共有 113条记录
  • Linux C/C++定时器

    1. 定时接口sleep函数族: sleep,usleep,nanosleep,clock_nanosleep 特点:有一定的精度,但是会使线程挂起。信号:alarm,setitimer 特点:采用了信号SIGALRM,由于SIGALRM信号不可靠,会造成超时通知不可靠,而且多线程中处理信号比较复杂。Linux定时接口:timer…

    2021/7/5 7:21:48 人评论 次浏览
  • 竟然还有人认为Redis只有get set那样简单?!

    Redis五种数据类型及应用场景 Redis有五种数据类型,即 string,list,hash,set,zset(sort set),我想这点只要稍微对Redis有点了解的小伙伴都应该清楚。下面,我们就来讨论下这五种数据类型的应用场景。【获取笔记】 string 这个类型相信是大家最熟悉的了,但是千万不要小瞧…

    2021/6/28 19:25:04 人评论 次浏览
  • Redis在Windows上和Linux上的区别

    在回答这个问题之前,我们先来看两个面试中经常会被问到的Redis问题 Redis为什么这么快?完全基于内存操作 C语言实现,优化过的数据结构,性能高 单线程,无切换上下文的成本 异步非阻塞IO(多路复用IO)再深入一点,多路复用IO是怎么实现的? 在Redis源码中,很多地方都调…

    2021/6/26 19:57:24 人评论 次浏览
  • timerfd是Linux为用户程序提供的一个定时器接口

    timerfd是Linux为用户程序提供的一个定时器接口。这个接口基于文件描述符,通过文件描述符的可读事件进行超时通知,因此可以配合select/poll/epoll等使用。timerfd_create()函数#include <sys/timerfd.h>int timerfd_create(int clockid, int flags); /* timerfd_…

    2021/6/26 7:28:52 人评论 次浏览
  • C语言网络编程-tcp服务器实现

    5种io模型 tcp服务器分为了5种io复用模型,分别是: 阻塞io模型 非阻塞io模型 io复用 信号驱动io 异步io 本文会讲前面3种io模型的tcp服务器实现(本文只做tcp服务器实现,客户端逻辑处理,接收数据等缓冲区不做深入说明) 简单实现 首先,我们需要理解下tcp服务器的创建过程…

    2021/6/22 17:27:04 人评论 次浏览
  • epoll在网络编程中使用一

    附带部分:1.tcp粘包处理方式 (1)引入分割符(2)在数据header中,加入数据长度2.listen函数第二个参数介绍:半连接队列的长度。主要用于保存三次握手完成的队列,可以accept的队列,详细请期待三次握手详解部分。 3.常识部分,在大型项目编程中,分配…

    2021/6/21 11:27:54 人评论 次浏览
  • C++高性能服务器开发 epoll+线程池模型

    文章目录 前言epoll 部分线程池部分整体设计:前言 最近在总结之前做的恋爱交由平台的项目。在优化服务器时,将一开始使用的同步阻塞+多线程,替换为现在的epoll+线程池模型。提高了并发的能力,可以实现C10k的目标。 因此,特写此文,用来记录epoll+线程池模型。为相同需…

    2021/6/16 22:21:52 人评论 次浏览
  • I/O模型之二:Linux IO模式及 select、poll、epoll详解

    同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的。所以先限定一下本文的上下文。 本文讨论的背景是Linux环境下的network IO。一、 概念说明 在进行解释之前,首先要说明几个概念: - 用户空间和内核空间- 进程…

    2021/6/15 7:26:05 人评论 次浏览
  • web服务之NginX介绍

    I/O 模型相关概念 同步/异步:关注的是消息通信机制,即调用者在等待一件事情的处理结果时,被调用者是否提供完成状态的通知。 同步:synchronous,被调用者并不提供事件的处理结果相关的通知消息,需要调用者主动询问事 情是否处理完成 异步:asynchronous,被调用者通过…

    2021/6/14 7:21:17 人评论 次浏览
  • 就这一次:TCP、IP、操作系统、Netty、算法一次性讲透

    就这一次:大学四年没有学会的TCPIP、操作系统、SocketIO、NIO、Linux内核、Epoll、数据结构与算法,一堂课讲明白——清华大学-马士兵-周志垒 IO篇 1,为什么IO这么重要 2,阻塞和非阻塞的本质区别 3,java代码和内核如何交互 4、NIO和多路复用器的差异 …

    2021/6/8 12:26:20 人评论 次浏览
  • 「linux」epoll和shutdown使用不当可能导致死循环

    首先来看段代码: #include <arpa/inet.h> #include <assert.h> #include <errno.h> #include <stdio.h> #include <stdlib.h> #include <strings.h> #include <sys/epoll.h> #include <sys/socket.h> #include <sys/…

    2021/6/8 7:22:03 人评论 次浏览
  • Redis 和 I/O 多路复用

    最近在看 UNIX 网络编程并研究了一下 Redis 的实现,感觉 Redis 的源代码十分适合阅读和分析,其中 I/O 多路复用(mutiplexing)部分的实现非常干净和优雅,在这里想对这部分的内容进行简单的整理。几种 I/O 模型为什么 Redis 中要使用 I/O 多路复用这种技术呢?首先,Re…

    2021/6/6 2:21:38 人评论 次浏览
  • 公开课 redis4 --- 从NIO到BIO 到 多路复用 到epoll的发展历程

    接着昨天的继续学习: 里面会用到昨天学过的东西 博客连接如下: https://www.cnblogs.com/ITPower/articles/12399999.html今天的目标, 学epoll 为什么学epoll, 用redis举例. epoll是所有模型中, 占用内核空间最小的, 执行速度最快的. redis用了epoll, nginx也是用了epoll一…

    2021/6/4 19:27:33 人评论 次浏览
  • Redis事件

    前言 Redis 是一个事件驱动的内存数据库,服务器需要处理两种类型的事件。 文件事件时间事件下面就会介绍这两种事件的实现原理。 文件事件 Redis 服务器通过 socket 实现与客户端(或其他redis服务器)的交互,文件事件就是服务器对 socket 操作的抽象。 Redis 服务器,通…

    2021/5/9 19:29:20 人评论 次浏览
  • 【Linux网络编程】Nginx -- 事件模块(三)

    【Linux网络编程】Nginx -- 事件模块(三) 【1】epoll 的原理简介 详见 【Linux网络编程】Epoll 的实现原理分析 【2】ngx_epoll_module epoll 驱动模块 【2.1】ngx_epoll_module epoll 驱动模块 -- 相关接口定义 ngx_epoll_conf_t 结构体 // epoll 模块的配置结构体 typed…

    2021/5/6 7:26:11 人评论 次浏览
扫一扫关注最新编程教程