The Difference Between Concurrency and Parallelism

Concurrency and parallelism are two terms that are often used interchangeably, but they are not the same thing. In this article, we will explore the differences between the two concepts and how they are related.

August 13, 2024 · 3 min · 581 words · Bá Tới

Keyword ThreadGroup in Ruby

Managing related threads with Ruby’s ThreadGroup: creating a group, adding threads, listing and joining them, and when grouping threads helps.

June 10, 2024 · 5 min · 887 words · Bá Tới

Understanding I/O-Bound and CPU-Bound Tasks in Backend Development

In backend development, tasks can be classified as I/O-bound or CPU-bound based on their resource requirements and execution characteristics. Let’s explore the differences between these two types of tasks and how to optimize their performance in a backend application.

April 25, 2024 · 4 min · 737 words · Bá Tới

Comparing Event Machine, Fibers, Threads, and Processes: Real-World Applications

Comparing Event Machine, Fibers, Threads, and Processes in Ruby for concurrent programming. Explore real-world applications and use cases for each concurrency model to understand their strengths and weaknesses.

March 24, 2024 · 4 min · 845 words · Bá Tới

Event Machine and Fibers: A Comprehensive Guide

Event Machine and Fibers are powerful tools for building highly concurrent and scalable applications in Ruby. In this comprehensive guide, we’ll explore the fundamentals of Event Machine, Fibers, and how they work together to enable efficient non-blocking I/O operations and parallel processing.

March 24, 2024 · 3 min · 606 words · Bá Tới

Understanding Threads and Processes in Ruby

In Ruby, threads and processes are essential concepts for concurrent programming, allowing you to execute multiple tasks concurrently. Let’s delve into these concepts, the GVL, Ruby 3.x options like Ractors and the fiber scheduler, and how to size Puma workers and threads.

May 7, 2022 · Updated October 29, 2026 · 9 min · 1845 words · Bá Tới