Operating Systems, Processes And Threads, Multitasking.
requires both programs to be restarted. We are already digressing. Communication between processes is a topic on its own, and same for synchronization. But all this complexity got a bit easier with the introduction of threads. Threads are what fork() wanted to be all along: a running piece of code