Program vs Process vs Thread
Explore the distinctions between a program, a process, and a thread to build a strong foundation in Ruby concurrency. Understand how multiple threads within a process share resources and why proper synchronization is essential to avoid inconsistent data and concurrency bugs.
We'll cover the following...
Program vs Process vs Thread
Program
A program is a set of instructions and associated data that resides on the disk and is loaded by the operating system to perform a task. An executable file or a Ruby script file are examples of programs. In order to run a program, the operating system's kernel is first asked to create a new process, which is an environment in which a program is executed.
Process
A process is a program in execution. A process is an execution environment that consists of instructions, user-data, and system-data segments, as well as lots of other resources such as CPU, memory, address-space, disk and network I/O acquired at runtime. A program can have several copies of it running at the same time, but a process necessarily belongs ...