Threads
Thread vs Process, Why processes are heavy
Process Memory Layout
User Space, Kernel Space, Green Threads
Thread Memory Layout
Threads
Thread Creation: CPP(Threadclass, CPP Functor), Rust (Normal, Scoped), Go (goroutines), Python, POSIX, Java, Windows
Joinable Detachable Threads
Synchronization
What is Synchronization?
Problems in sync: Dining Philospher, n Producer n Consumer
Synchronization Methods:
Methods List: Pipes, Shared Memory, condvar, Semaphores, mutex, Arc<mutex>, Rwlocks, channels
  Rust: Arc, Arc<mutex>
  C++: condition_variable
  mutex: C++, POSIX, Rust
IPC
What is IPC?
IPC Methods:
Types: Pipe, Channels(Rust, go), Named pipes, fifo, Message Queues, Shared Memory, Memory mapped files
  Rust: Channels
  Golang:
   Channels Types(Buffered/Unbuffered, Directional/Bidirectional), select(wait on multiple channels)
    Atomic