Processes or Threads ?
Everything can be done using processes:
- Shared memory.
- IPC.
- Non blocking I/O.
A full context switch is more expensive compared with a thread switch (another order of magnitude).
Better protection with processes (different address space).
Assuming you need several threads/processes to cooperate