Tagged articles
69 articles
Page 1 of 1
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.

Event-drivenIO MultiplexingLinux
0 likes · 35 min read
Mastering Linux I/O Multiplexing: select, poll, and epoll Explained with Real Code
php Courses
php Courses
Jun 3, 2025 · Backend Development

Understanding Go's Concurrency Model: Goroutine, Channel, Select, WaitGroup, and Context

This article explains Go's lightweight concurrency model, covering Goroutine creation, Channel communication, Select multiplexing, synchronization with WaitGroup and Context, common concurrency patterns such as worker pools and pub/sub, and provides best‑practice recommendations for building high‑performance concurrent programs.

ChannelGoGoroutine
0 likes · 7 min read
Understanding Go's Concurrency Model: Goroutine, Channel, Select, WaitGroup, and Context
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 MultiplexingLinuxSystem Programming
0 likes · 30 min read
I/O Multiplexing in Linux: Detailed Explanation of select, poll, and epoll
Java One
Java One
Mar 9, 2025 · Backend Development

What’s Behind Java’s I/O: From BIO to Epoll and Beyond

This article explains the fundamentals of I/O in Unix and Java, covering the distinction between user and kernel space, the five Unix I/O models, the evolution from select/poll to epoll/kqueue, and how modern network frameworks like Reactor and Proactor leverage these mechanisms for high‑performance networking.

Networkingepollio
0 likes · 16 min read
What’s Behind Java’s I/O: From BIO to Epoll and Beyond
FunTester
FunTester
Mar 6, 2025 · Backend Development

Common Mistakes with Go's select Statement and How to Fix Them

This article examines frequent errors when using Go's select statement—such as omitting a default case, misunderstanding case order, handling nil channels, missing timeout logic, and duplicate cases—explaining their impact, offering best‑practice guidance, and providing corrected code examples for each scenario.

Error HandlingGoconcurrency
0 likes · 14 min read
Common Mistakes with Go's select Statement and How to Fix Them
ITPUB
ITPUB
Dec 26, 2024 · Databases

Why SELECT * Can Kill Your API Performance: Lessons from a 2012 Database Mishap

This article recounts a 2012 incident where a backend API slowed dramatically after hidden BLOB columns were added, and explains why using SELECT *—which blocks index‑only scans, forces extra I/O, increases deserialization, network, and client processing costs, and hampers schema maintenance—should be avoided in favor of explicit column lists.

Database Performancepostgresqlquery optimization
0 likes · 7 min read
Why SELECT * Can Kill Your API Performance: Lessons from a 2012 Database Mishap
21CTO
21CTO
Dec 16, 2024 · Databases

Why SELECT * Slows Down Your Database and How to Avoid It

The article recounts a 2012 incident where a seemingly fast backend API became sluggish after hidden blob columns were added, explains how SELECT * forces full table scans, extra deserialization, network overhead, and unpredictable performance, and advises selecting only needed columns for optimal efficiency.

Database Performancepostgresqlquery optimization
0 likes · 7 min read
Why SELECT * Slows Down Your Database and How to Avoid It
Tencent Cloud Developer
Tencent Cloud Developer
Sep 10, 2024 · Fundamentals

Why Does This Go Code Block? Uncovering Channel and Select Pitfalls

This article analyzes a Go program that deadlocks due to misuse of unbuffered channels and select, explains the underlying behavior of channels, blocking conditions, and select semantics, and provides a simple fix by buffering the stop channel while also covering Go's CSP roots and best‑practice guidelines.

ChannelGoGoroutine
0 likes · 20 min read
Why Does This Go Code Block? Uncovering Channel and Select Pitfalls
MaGe Linux Operations
MaGe Linux Operations
May 3, 2024 · Fundamentals

Understanding User vs Kernel Space and Modern I/O Models in Linux

This article explains the separation of user and kernel space, compares blocking, non‑blocking, multiplexed, signal‑driven, and asynchronous I/O models, and details the select, poll, and epoll mechanisms used to efficiently handle multiple file descriptors in Linux.

I/O MultiplexingKernel SpaceLinux
0 likes · 12 min read
Understanding User vs Kernel Space and Modern I/O Models in Linux
Ops Development & AI Practice
Ops Development & AI Practice
Apr 19, 2024 · Backend Development

How to Add a Timeout to an Infinite Loop in Go

This guide shows how to protect a long‑running Go function that checks a RabbitMQ cluster by using time.After and a select statement to automatically stop the infinite loop after a configurable timeout, improving robustness and maintainability.

BackendGolangTimeout
0 likes · 5 min read
How to Add a Timeout to an Infinite Loop in Go
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 Multiplexingepollfile-descriptors
0 likes · 13 min read
Mastering Files, File Descriptors, and I/O Multiplexing in Linux
Programmer DD
Programmer DD
Dec 5, 2023 · Databases

Master the Basics of SQL: Understanding Tables, Keys, and Queries

This article introduces SQL as the standard language for relational databases, explains how data is organized into tables with primary and foreign keys, and walks through essential keywords like SELECT, WHERE, and JOIN to query and relate data effectively.

Foreign KeyJOINRelational Databases
0 likes · 5 min read
Master the Basics of SQL: Understanding Tables, Keys, and Queries
Open Source Linux
Open Source Linux
Oct 27, 2023 · Backend Development

Why epoll Beats select: A Deep Dive into Linux I/O Multiplexing

This article explains the advantages of epoll over select for I/O multiplexing in Linux, covering its event-driven design, edge-triggered vs level-triggered modes, core APIs, practical code examples, and performance considerations for high‑concurrency network servers.

IO MultiplexingLinux networkingepoll
0 likes · 53 min read
Why epoll Beats select: A Deep Dive into Linux I/O Multiplexing
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 Multiplexingepollnio
0 likes · 44 min read
Unlocking Java NIO: How Select, Poll, and Epoll Revolutionize I/O Multiplexing
Liangxu Linux
Liangxu Linux
Jun 27, 2023 · Fundamentals

How to Access and Communicate with Linux Serial Ports Using C

This guide explains Linux serial port device files, shows how to list them, and provides four C programming methods—polling, select‑based interrupt, SIGIO signal handling, and threaded reading—complete with code examples and detailed configuration steps.

Device FilesLinuxPolling
0 likes · 10 min read
How to Access and Communicate with Linux Serial Ports Using C
MaGe Linux Operations
MaGe Linux Operations
Apr 2, 2023 · Fundamentals

Understanding Linux I/O Models: From Blocking to Asynchronous

This article explains the five Linux I/O models—blocking, non‑blocking, I/O multiplexing, signal‑driven, and asynchronous—detailing their system calls, behavior, and performance characteristics while using vivid analogies to illustrate each model’s workflow.

Blocking IOIO modelsNon-blocking IO
0 likes · 10 min read
Understanding Linux I/O Models: From Blocking to Asynchronous
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 MultiplexingNetwork programmingedge trigger
0 likes · 26 min read
Understanding IO Multiplexing: select, poll, and epoll in Linux with Code Examples
Aikesheng Open Source Community
Aikesheng Open Source Community
Aug 1, 2022 · Databases

MySQL SELECT Query Crash Analysis and Resolution

This article investigates a MySQL crash triggered by a specific SELECT statement, analyzes the stack trace and optimizer behavior that leads to an invalid memory access, and presents three practical solutions including disabling DuplicateWeedout, upgrading MySQL, and normalizing table character sets.

CrashDuplicateWeedoutbug
0 likes · 7 min read
MySQL SELECT Query Crash Analysis and Resolution
Architects' Tech Alliance
Architects' Tech Alliance
Jul 14, 2022 · Fundamentals

Understanding Synchronous vs Asynchronous, Blocking vs Non-Blocking, and Linux I/O Models

This article explains the concepts of synchronous and asynchronous execution, blocking and non‑blocking operations, user and kernel space, process switching, file descriptors, cache I/O, and compares various Linux I/O models such as blocking, non‑blocking, multiplexing, signal‑driven and asynchronous I/O, including the differences among select, poll and epoll.

AsynchronousBlockingLinux
0 likes · 14 min read
Understanding Synchronous vs Asynchronous, Blocking vs Non-Blocking, and Linux I/O Models
Architect's Journey
Architect's Journey
Mar 16, 2022 · Backend Development

Cracking NIO Interview: An Alibaba P7 Senior Explains IO Multiplexing

In this interview‑style tutorial, an Alibaba P7 engineer walks through the limitations of BIO, the non‑blocking NIO API, kernel‑level select/poll mechanisms, and the design of epoll, illustrating how each solves the C10K problem and how they are used in Java.

BackendIO MultiplexingJava NIO
0 likes · 16 min read
Cracking NIO Interview: An Alibaba P7 Senior Explains IO Multiplexing
IT Architects Alliance
IT Architects Alliance
Nov 28, 2021 · Fundamentals

Understanding Synchronization, Blocking, and I/O Models in Linux

This article explains the concepts of synchronous vs. asynchronous execution, blocking vs. non‑blocking operations, user and kernel space, process switching, file descriptors, cache I/O, and compares various Linux I/O models such as select, poll, epoll, signal‑driven and asynchronous I/O.

BlockingIO modelsLinux
0 likes · 15 min read
Understanding Synchronization, Blocking, and I/O Models in Linux
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.

BlockingIO modelsNon-blocking
0 likes · 15 min read
Understanding Synchrony, Blocking, Process Switching, File Descriptors, and I/O Models (select, poll, epoll)
TAL Education Technology
TAL Education Technology
Nov 18, 2021 · Backend Development

Server‑Side Network Concurrency Models and Linux I/O Multiplexing (select, epoll)

This article explains fundamental concepts of streams, I/O operations, blocking and non‑blocking behavior, compares blocking wait with busy polling, and then details five practical solutions—including multithreading, select, and epoll—while presenting Linux epoll API usage, code examples, and a comprehensive overview of seven common server concurrency models.

IO MultiplexingLinuxNetwork Concurrency
0 likes · 32 min read
Server‑Side Network Concurrency Models and Linux I/O Multiplexing (select, epoll)
Laravel Tech Community
Laravel Tech Community
Sep 7, 2021 · Databases

Handling Backslashes in MySQL INSERT and SELECT Statements

This article explains how MySQL treats backslashes as escape characters in INSERT and SELECT queries, demonstrates the effect of different numbers of backslashes through practical tests, and clarifies the double‑escaping required when using LIKE patterns.

ESCAPEInsertbackslash
0 likes · 6 min read
Handling Backslashes in MySQL INSERT and SELECT Statements
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 MultiplexingNon-blocking I/Oblocking I/O
0 likes · 13 min read
Why Blocking I/O Slows Your Server and How Select, Poll, and Epoll Fix It
Java Interview Crash Guide
Java Interview Crash Guide
Jun 30, 2021 · Databases

How to Quickly Remove Duplicate Rows in MySQL Without Locking

This article walks through a practical MySQL tutorial that identifies duplicate records, explains why naïve row‑by‑row deletion is slow, and provides efficient DELETE statements—including derived‑table tricks—to clean up large tables while preserving one record per duplicate group.

DELETEdatabase cleanupduplicate removal
0 likes · 6 min read
How to Quickly Remove Duplicate Rows in MySQL Without Locking
Programmer DD
Programmer DD
Jun 22, 2021 · Databases

Mastering Backslash Escapes in MySQL: Insert & SELECT Gotchas

This article explains how MySQL treats backslashes in INSERT and SELECT statements, demonstrates the resulting storage differences with practical examples, and clarifies the double‑escaping rules that developers must handle to avoid unexpected query results.

Insertbackslashescaping
0 likes · 6 min read
Mastering Backslash Escapes in MySQL: Insert & SELECT Gotchas
Architect's Tech Stack
Architect's Tech Stack
Apr 14, 2021 · Databases

Why Using SELECT * Is Inefficient in MySQL and How to Optimize Queries

This article explains the multiple reasons why SELECT * slows down MySQL queries—including extra parsing, unnecessary data transfer, increased I/O, and loss of covering index optimization—while also covering index fundamentals, composite indexes, and practical tips for writing efficient SELECT statements.

mysqlselectsql
0 likes · 9 min read
Why Using SELECT * Is Inefficient in MySQL and How to Optimize Queries
Open Source Tech Hub
Open Source Tech Hub
Apr 14, 2021 · Backend Development

How Redis Implements Efficient I/O Multiplexing with select, epoll, and kqueue

This article explains Redis's clean and elegant I/O multiplexing implementation, covering blocking I/O limitations, the reactor pattern, abstraction of select/epoll/kqueue into a unified API, key source functions, and platform‑specific module selection to achieve high‑performance single‑threaded networking.

I/O Multiplexingepollevent loop
0 likes · 14 min read
How Redis Implements Efficient I/O Multiplexing with select, epoll, and kqueue
Full-Stack Internet Architecture
Full-Stack Internet Architecture
Nov 4, 2020 · Databases

Differences Between SELECT and UPDATE Execution in MySQL: Process, Optimizer, Redo Log and Binlog

The article explains how MySQL processes SELECT and UPDATE statements, detailing each execution stage—from client authentication and cache lookup to parsing, optimization, and execution—while highlighting the additional redo log and binlog handling required for UPDATE operations and offering practical code examples.

BinlogDatabase OptimizationSQL Execution
0 likes · 14 min read
Differences Between SELECT and UPDATE Execution in MySQL: Process, Optimizer, Redo Log and Binlog
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 MultiplexingLinuxNetwork programming
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 MultiplexingNetwork programmingReactor Pattern
0 likes · 28 min read
Master Blocking vs Non‑Blocking I/O: From select to epoll and Reactor Patterns
dbaplus Community
dbaplus Community
Sep 17, 2020 · Databases

Why SELECT * Can Kill Your Oracle Performance: Real-World Cases

This article examines several production incidents where using SELECT * caused dramatic performance degradation in Oracle databases, detailing shadow‑table differences, LOB handling, temporary‑table transformations, wide‑table scans, and memory‑intensive joins, and explains why the rule to avoid SELECT * is essential.

Oracleperformanceselect
0 likes · 6 min read
Why SELECT * Can Kill Your Oracle Performance: Real-World Cases
Architecture Digest
Architecture Digest
Jul 17, 2020 · Backend Development

Comparison of select, poll, and epoll: Time Complexity, Advantages, and Implementation Details

This article compares the three I/O multiplexing mechanisms—select, poll, and epoll—by analyzing their time complexities, limitations, trigger modes, performance characteristics, and implementation details, helping developers choose the most suitable method for different Linux networking scenarios.

IO MultiplexingLinuxNetwork programming
0 likes · 14 min read
Comparison of select, poll, and epoll: Time Complexity, Advantages, and Implementation Details
macrozheng
macrozheng
Jul 14, 2020 · Databases

Why SELECT * Slows Down MySQL: Deep Dive into Indexes and Optimization

This article explains why using SELECT * in MySQL queries degrades performance, covering increased parsing cost, unnecessary data transfer, loss of covering index optimization, and how proper column selection and index design can dramatically improve query speed.

Database PerformanceSQL Optimizationcovering index
0 likes · 10 min read
Why SELECT * Slows Down MySQL: Deep Dive into Indexes and Optimization
Java Captain
Java Captain
Jun 21, 2020 · Databases

Why Using SELECT * Is Inefficient in MySQL and How Indexes Improve Performance

Although many developers hear the advice to avoid using SELECT * in SQL, this article delves into the underlying reasons—such as increased parsing cost, unnecessary data transfer, extra I/O, and loss of covering-index optimization—while also explaining index concepts and best practices for MySQL performance.

Database PerformanceIndex Optimizationmysql
0 likes · 10 min read
Why Using SELECT * Is Inefficient in MySQL and How Indexes Improve Performance
Python Programming Learning Circle
Python Programming Learning Circle
Mar 3, 2020 · Backend Development

Event‑Driven Programming and I/O Models in Python

This article explains the principles of event‑driven programming, compares traditional linear execution with event‑driven models, and details various I/O models—including blocking, non‑blocking, multiplexing, signal‑driven, and asynchronous—providing Python code examples and discussing their advantages and use cases.

AsynchronousEvent-drivenIO Model
0 likes · 26 min read
Event‑Driven Programming and I/O Models in Python
FunTester
FunTester
Sep 3, 2019 · Fundamentals

Automating Shipping Address Add/Delete with Selenium Java Select

This guide demonstrates how to use Selenium WebDriver with Java to delete an existing shipping address and add a new one, including handling dropdown selections for province, city, and area, with complete code examples and step‑by‑step explanations.

SeleniumWebDriverautomation
0 likes · 4 min read
Automating Shipping Address Add/Delete with Selenium Java Select
Efficient Ops
Efficient Ops
Aug 15, 2019 · Fundamentals

Master SQL SELECT: 10 Steps to Understand Execution Order and Joins

This comprehensive guide explains how SQL's declarative nature, the mismatch between syntax and execution order, table references, various join types, derived tables, GROUP BY behavior, and key keywords like DISTINCT, UNION, ORDER BY, and OFFSET work together to help readers master SELECT statements.

Database FundamentalsJoinsQuery Execution
0 likes · 20 min read
Master SQL SELECT: 10 Steps to Understand Execution Order and Joins
MaGe Linux Operations
MaGe Linux Operations
Apr 28, 2019 · Fundamentals

Master Linux I/O Models: From Blocking to Asynchronous Explained

This article explains the five Linux I/O models—blocking, non‑blocking, I/O multiplexing, signal‑driven, and asynchronous—using a fishing metaphor, shows how Java’s BIO/NIO/AIO map to OS mechanisms, and clarifies why most of them are still synchronous despite different implementations.

AsynchronousBlockingI/O
0 likes · 12 min read
Master Linux I/O Models: From Blocking to Asynchronous Explained
Architect's Tech Stack
Architect's Tech Stack
Apr 25, 2019 · Backend Development

Redis I/O Multiplexing: Design, Implementation, and Code Walkthrough

This article examines Redis's I/O multiplexing mechanism, explaining why it uses non‑blocking models, detailing the Reactor pattern, comparing select, epoll, and kqueue, and providing a thorough walkthrough of the underlying C code that implements event creation, addition, deletion, and polling across platforms.

I/O MultiplexingReactor Patternbackend-development
0 likes · 11 min read
Redis I/O Multiplexing: Design, Implementation, and Code Walkthrough
ITPUB
ITPUB
Aug 10, 2017 · Databases

5 Practical SQL Query Tricks to Boost Database Readability and Performance

This article shares five actionable SQL techniques—concatenating fields, removing duplicate rows, leveraging WHERE clauses, using COUNT flexibly, and selecting only necessary columns—to improve query readability and efficiency in relational databases.

WHERE_countselect
0 likes · 9 min read
5 Practical SQL Query Tricks to Boost Database Readability and Performance
21CTO
21CTO
Oct 28, 2015 · Databases

Block SELECT * Queries with a One‑Line Computed Column Hack

This article explains why using SELECT * is problematic and demonstrates a simple technique—adding a computed column that triggers a divide‑by‑zero error—to block SELECT * queries while still allowing column‑specific selections.

Database designbest practicescomputed column
0 likes · 3 min read
Block SELECT * Queries with a One‑Line Computed Column Hack
MaGe Linux Operations
MaGe Linux Operations
Oct 31, 2014 · Backend Development

How Event‑Driven Servers Outperform Threaded Models: A Deep Dive with libev

This article examines various network server architectures—from blocking sockets and multithreaded designs to select‑based and libev‑driven event loops—highlighting their trade‑offs, performance implications, and practical implementation details for building efficient high‑concurrency services.

Event-drivenNetwork programmingServer Architecture
0 likes · 13 min read
How Event‑Driven Servers Outperform Threaded Models: A Deep Dive with libev