Notes

Thoughts, write-ups, and things worth remembering.

Program vs process vs thread

#systems Updated Sep 16, 2026

Three different things people casually call “a program.”

Program

Instructions sitting on disk, not running. Just a file.

Process

A program that’s actually running. Has its own memory space, OS resource handles, security context, and CPU state — completely isolated from other processes by default.

Thread

The smallest unit of execution inside a process. A process can have many threads, and they all share the same memory and resources — which is exactly what makes threading both useful (fast communication, shared state) and dangerous (data races, one thread’s bug corrupting another’s data).

Design patterns