Skip to main content

4 posts tagged with "Concurrency"

Concurrent programming, parallelism, and asynchronous design patterns.

View All Tags

Concurrency in Computer Science

· 5 min read
PSVNL Sai Kumar
Senior Software Development Engineer, Oracle

Introduction to Concurrency

Concurrency is a fundamental concept in computer science that allows multiple tasks or processes to make progress independently. It is the basis of responsive UIs, high-throughput servers, and efficient use of modern multi-core CPUs.

Concurrency is not the same as parallelism:

  • Concurrency — multiple tasks are in progress at the same time (they may take turns on one CPU)
  • Parallelism — multiple tasks execute at the exact same instant on multiple CPU cores

An event loop handling 10,000 connections on one thread is concurrent but not parallel. Four threads crunching different sections of a matrix are parallel.

Understanding Non-Blocking Design in Software Development

· 4 min read
PSVNL Sai Kumar
Senior Software Development Engineer, Oracle

Non-blocking design is one of the most important architectural principles in modern software. If you have ever wondered why Node.js can handle thousands of simultaneous connections on a single thread, or why a Go service stays responsive under load, the answer is non-blocking I/O and event-driven execution.

What is Concurrent Programming? (With Code Examples)

· 4 min read
PSVNL Sai Kumar
Senior Software Development Engineer, Oracle

Concurrent programming refers to a paradigm where multiple tasks make progress independently, potentially interleaved in execution. This is not the same as parallel computing (tasks running at literally the same instant on multiple cores) — concurrency is about structure, not necessarily simultaneous physical execution.