Process vs. Thread
The decision comes down to how much Coupling you want / need between the individual components.
Having separation at a process level can introduce additional latency due to the segration nature.
- You can leverage shared memory, but that is still slower
Each process has its own memory space. So there are additional checks.
Threads in a process exist in the same memory space.