commit ab7528b25128ebf71a5f524c793614162e8dc19a
parent babd55b6d2461d637fee2f7a06dc4e4e1f1c8365
Author: Andrew Laack <andrew@laack.co>
Date: Fri, 6 Feb 2026 18:05:21 -0600
Took notes on threads
Diffstat:
2 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/docs/OperatingSystems.md b/docs/OperatingSystems.md
@@ -48,3 +48,4 @@
- [Cache](Cache.md)
- [I/O Queue](IOQueue.md)
- [Inter Process Communication](InterProcessCommunication.md)
+- [Thread](Thread.md)
diff --git a/docs/Thread.md b/docs/Thread.md
@@ -0,0 +1,11 @@
+# Thread
+
+**Source:** CS 6200
+
+**Chapter:** P2L2
+
+**Definition:** A thread is an active entity that executes a unit of a process.
+
+Threads are part of the same virtual address space as the process that contains them, but each thread has a per-thread execution context, contained within the process control block.
+
+Threads have a non-zero overhead, but they have a lesser overhead than processes because they don't require their own address spaces, only their own execution contexts. Additionally, threads can use shared variables in the same address space for communication between threads which is cheaper than the IPC alternatives.