找到约 2024 条结果
  • IO多路复用(一)-- Select、Poll、Epoll
    当进程需要等待多个描述符的时候,通常情况下进程会开启多个线程,每个线程等待一个描述符就绪,但是多路复用可以同时监听多个描述符,进程中无需开启线程,减少系统开销,在这种情况下多路复用的性能要比使用多线程的性能要好很多。
    2018-09-14
  • 有老问题,但我想提供另一种解决方案。看来您需要的不是信号量,而是像 Windows 事件这样的事件。非常有效的事件可以像下面这样完成: {代码...} 然后只需使用 concurrency::event 原文由 Andrey 发布,翻译遵循 CC BY-SA 4.0 许可协议
    2022-10-26
  • 【Redis5源码学习】浅析redis中的IO多路复用与事件机制
    读这篇文章之前请先阅读:浅析服务器并发IO性能提升之路—从网络编程基础到epoll,以更好的理解本文的内容,谢谢。我们知道,我们在使用redis的时候,通过客户端发送一个get命令,就能够得到redis服务端返回的数据。redis是基于传统的C/S架构实现的。它通过监听一个TCP端口(6379)的方式来接收来自客户端的连接,从而进...
    2019-09-01
    2
  • 听我老大说的, gevent 使用的是 greenlet + epoll, greenlet 自定义了栈, greenlet 有点类似 goroutine, 可以实现并行. tornado只是自已实现了 epoll.
    2015-04-16
  • epoll源码分析以及在Redis中的实现
    这篇文章分析一下linux中epoll的实现原理,主要为了增强自己对网络调用的理解。业界使用epoll的框架比较多,随便就能列出来很多,比如jdk的nio在linux下的实现,以及netty、redis等涉及到长链接网络请求的地方,我们都可以直接使用epoll。文末会从redis源码简单看看如何使用epoll做IO多路复用实现高并发。
    2020-08-23
  • 猜测:写个模拟函数,仿造epoll
    2017-09-14
    1
    ✓ 已解决
  • java nio 在 linux 是默认采用 select或poll,或 epoll实现的,过程差不多。比如 epoll只是一组系统调用(包括epoll_create,epoll_ctl,epoll_wait),开发人员可以使用这组系统调用完成多路复用。每次epoll_wait的时候可以阻塞等待获得有事件的连接(poll_events),然后开发人员根据需要去read或write每一个连接,此时你...
    2020-05-21
  • select,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的
    2015-10-21
  • select, poll, epoll
    IO多路复用里面被广泛使用的select、poll和epoll模型,IO多路复用实现的主旨思想是,不再由应用程序自己监视客户端连接,取而代之由内核替应用程序监视文件
    2020-09-07
  • 「NIO源码」JavaNIO源码 & JNI分析二:Java NIO源码分析
    没看过的建议先看上一篇,本来打算讲讲linux内核,也看了一些书籍,可是c放了太久了,看代码实在头疼,就先放弃了,写写业务也没必要卷这么深吧。就讲到调用底层api为止我觉得刚刚好。不太擅长将源码结合讲故事,所以整片略显枯燥,将就看下吧~~
    2022-09-23
  • 很多一些博文或文章都以以下的文字解释 epoll: {代码...} 而也有质疑的部分,比如: [链接] [链接] [链接] 还有一些说的是epoll早期使用了mmap, 后面没有用了。 那么有真正的懂来解答吗 ?
    2020-05-08
    1
    ✓ 已解决
  • epoll LT/ET 深入剖析
    Level Triggered (LT) 水平触发.socket接收缓冲区不为空 有数据可读 读事件一直触发.socket发送缓冲区不满 可以继续写入数据 写事件一直触发符合思维习惯,epoll_wait返回的事件就是socket的状态
    2016-03-13
  • select,poll和epoll
    首先要理解LINUX网络IO多路复用,IO多路复用在Linux下包括了三种,select, poll, epoll,抽象来看,他们功能是类似的,但具体细节各有不同:首先都会对一组文件描述符进行相关事件的注册,然后阻塞等待某些事件的发生或等待超时。更多细节详见下面的 "具体怎么用"。IO多路复用都可以关注多个文件描述符,但对于这三种机...
    2021-02-15
  • 如题:HarmonyOS开发c++层那里socket支持epoll方式吗?
    2024-08-25
    1
  • linux socket编程总结
    在internet网络的世界里,socket可以说是最重要的任务间通讯的方式,尤其是当两个任务驻留在不同的机器上需要通过网络介质连接。今天系统复习一下socket编程,因为本人已经有了基本的网络和操作系统的知识,直接跳过很基本的背景知识介绍了。我理解的socket就是抽象封装了传输层以下软硬件行为,为上层应用程序提供进程/...
    2016-03-09
    4
  • 图解 epoll 是如何工作的
    本文包含以下内容: epoll是如何工作的 本文不包含以下内容: epoll 的用法 epoll 的缺陷 我实在非常喜欢像epoll这样使用方便、原理不深却有大用处的东西,即使它可能已经比较老了 select 和 poll 的缺点 epoll 对于动辄需要处理上万连接的网络服务应用的意义可以说是革命性的。对于普通的本地应用,select 和 poll可能...
    2019-03-15
    1
  • 不会。epoll是需要进程自己调用epoll_wait去阻塞等待事件发生的,如果进程在进行处理时有新事件发生了,要等下一次调用epoll_wait时进程才能知道。
    2017-09-14