Tagged articles

poll

19 articles · Page 1 of 1
Deepin Linux
Deepin Linux
Jul 23, 2026 · Backend Development

Eliminate Select’s High CPU Usage: A Step‑by‑Step Epoll Source Dive in Pure C

The article walks developers through the root causes of high CPU consumption when using select/poll, explains why epoll solves these bottlenecks, and provides a complete, pure‑C implementation that covers socket setup, epoll creation, registration, event loops, level‑trigger vs edge‑trigger modes, and performance comparisons.

C programmingI/O multiplexingLinux
0 likes · 31 min read
Eliminate Select’s High CPU Usage: A Step‑by‑Step Epoll Source Dive in Pure C
IT Services Circle
IT Services Circle
Jul 12, 2026 · Backend Development

select, poll, and epoll: What’s the real difference? A deep dive into I/O multiplexing

This article explains the concepts of synchronous vs. asynchronous and blocking vs. non‑blocking I/O, outlines the five Unix I/O models, and then compares select, poll, and epoll—including their internal mechanisms, performance trade‑offs, edge‑ and level‑triggered modes, and why epoll is considered the solution to the C10K problem.

I/O multiplexingLinuxSELECT
0 likes · 17 min read
select, poll, and epoll: What’s the real difference? A deep dive into I/O multiplexing
Deepin Linux
Deepin Linux
Sep 12, 2025 · Backend Development

Mastering Linux I/O Multiplexing: select, poll, and epoll Explained with Real Code

This article explains the concepts, advantages, limitations, and practical usage of Linux I/O multiplexing mechanisms—select, poll, and epoll—through analogies, detailed explanations, code examples, and common interview questions, helping developers choose the right tool for high‑concurrency network programming.

IO MultiplexingLinuxSELECT
0 likes · 35 min read
Mastering Linux I/O Multiplexing: select, poll, and epoll Explained with Real Code
Tencent Technical Engineering
Tencent Technical Engineering
Apr 18, 2025 · Fundamentals

I/O Multiplexing in Linux: Detailed Explanation of select, poll, and epoll

Linux treats all I/O devices as files, enabling a single thread to monitor many descriptors via I/O multiplexing; while select and poll use linear scans and suffer size limits, epoll employs an event‑driven red‑black tree with edge‑triggered mode, offering scalable, high‑performance handling for thousands of concurrent connections.

I/O multiplexingLinuxSELECT
0 likes · 30 min read
I/O Multiplexing in Linux: Detailed Explanation of select, poll, and epoll
Lobster Programming
Lobster Programming
Jul 7, 2024 · Backend Development

Understanding Linux poll(): Structure, Events, and How It Works

This article explains the Linux poll() system call, detailing its pollfd structure, event flags, parameters like nfds and timeout, return values, and step‑by‑step operation flow for reading and writing data, highlighting differences from select and its advantages on 32‑bit systems.

IO MultiplexingSystem Callbackend
0 likes · 5 min read
Understanding Linux poll(): Structure, Events, and How It Works
Liangxu Linux
Liangxu Linux
Dec 6, 2023 · Fundamentals

Mastering Files, File Descriptors, and I/O Multiplexing in Linux

This article explains Linux file concepts, how file descriptors work, why simple blocking I/O fails at scale, and introduces I/O multiplexing techniques—including select, poll, and epoll—detailing their mechanisms, limitations, and practical code examples for high‑concurrency servers.

I/O multiplexingSELECTepoll
0 likes · 13 min read
Mastering Files, File Descriptors, and I/O Multiplexing in Linux
Sanyou's Java Diary
Sanyou's Java Diary
Oct 9, 2023 · Backend Development

Unlocking Java NIO: How Select, Poll, and Epoll Revolutionize I/O Multiplexing

This article explains the evolution of I/O multiplexing in Java, covering the birth of multiplexing, the introduction of NIO with Selector, and detailed comparisons of select, poll, and epoll mechanisms, including their APIs, internal workings, and performance considerations for high‑concurrency network programming.

I/O multiplexingNIOSELECT
0 likes · 44 min read
Unlocking Java NIO: How Select, Poll, and Epoll Revolutionize I/O Multiplexing
Top Architect
Top Architect
Aug 30, 2022 · Backend Development

Understanding IO Multiplexing: select, poll, and epoll in Linux with Code Examples

This article provides an in‑depth explanation of Linux I/O multiplexing models—including select, poll, and epoll—detailing their mechanisms, advantages, limitations, and practical C code examples, while also covering edge‑triggered vs level‑triggered behavior and offering a complete epoll server implementation.

IO MultiplexingSELECTedge trigger
0 likes · 26 min read
Understanding IO Multiplexing: select, poll, and epoll in Linux with Code Examples
Architects' Tech Alliance
Architects' Tech Alliance
Nov 26, 2021 · Fundamentals

Understanding Synchrony, Blocking, Process Switching, File Descriptors, and I/O Models (select, poll, epoll)

This article explains the differences between synchronous and asynchronous execution, blocking and non‑blocking operations, user and kernel space, process switching, file descriptors, cache I/O, and compares various I/O models—including blocking, non‑blocking, multiplexing, signal‑driven, and asynchronous—while highlighting the characteristics of select, poll, and epoll.

IO modelsSELECTblocking
0 likes · 15 min read
Understanding Synchrony, Blocking, Process Switching, File Descriptors, and I/O Models (select, poll, epoll)
Liangxu Linux
Liangxu Linux
Jul 24, 2021 · Fundamentals

Why Blocking I/O Slows Your Server and How Select, Poll, and Epoll Fix It

This article explains the drawbacks of traditional blocking network I/O, introduces non‑blocking reads, and walks through the evolution from multithreaded workarounds to kernel‑level multiplexing mechanisms such as select, poll, and epoll, showing code examples and performance considerations.

IO MultiplexingSELECTblocking I/O
0 likes · 13 min read
Why Blocking I/O Slows Your Server and How Select, Poll, and Epoll Fix It
JavaEdge
JavaEdge
Nov 3, 2020 · Backend Development

Why select and poll Fall Behind epoll: A Deep Dive into Linux I/O Multiplexing

This article compares Linux's select, poll, and epoll mechanisms, explaining their internal workings, limitations such as FD_SETSIZE and linear scanning, and why epoll's event‑driven design offers superior scalability and performance for high‑concurrency network servers.

I/O multiplexingLinuxSELECT
0 likes · 7 min read
Why select and poll Fall Behind epoll: A Deep Dive into Linux I/O Multiplexing
Liangxu Linux
Liangxu Linux
Oct 8, 2020 · Backend Development

Master Blocking vs Non‑Blocking I/O: From select to epoll and Reactor Patterns

This article explains the fundamentals of blocking and non‑blocking I/O, compares select, poll, and epoll mechanisms, introduces the Reactor model and its variants, and shows how to solve the C10K problem with processes, threads, thread pools, and event‑driven architectures, complete with code examples.

I/O multiplexingReactor patternSELECT
0 likes · 28 min read
Master Blocking vs Non‑Blocking I/O: From select to epoll and Reactor Patterns