| Execution Model | Preemptive multitasking | True parallelism | External process execution | Cooperative multitasking |
| Memory Sharing | Shared memory space | Separate memory spaces | Completely isolated | Shared memory space |
| GIL Impact | Limited by GIL | Not affected by GIL | Not affected by GIL | Not affected by GIL |
| CPU Utilization | Single core (due to GIL) | Multiple cores | Depends on external program | Single core |
| Startup Overhead | Low | High | Moderate to High | Very Low |
| Memory Overhead | Low | High | Variable | Very Low |
| Communication | Direct variable sharing | IPC (pipes, queues, shared memory) | stdin/stdout/stderr | Direct variable sharing |
| Synchronization | Locks, semaphores, conditions | Locks, queues, shared memory | Process control signals | No locks needed |
| Error Isolation | Shared - one thread crash can affect others | Isolated - process crashes don't affect others | Completely isolated | Shared - exceptions can propagate |
| Scalability | Limited (typically 10s-100s threads) | Limited by CPU cores | Limited by system resources | High (1000s-10000s tasks) |
| Best For | I/O-bound tasks | CPU-intensive tasks | System integration, external tools | High-concurrency I/O |
| Debugging Complexity | Moderate (race conditions) | High (inter-process debugging) | Low to Moderate | Low to Moderate |
| Use Cases | File I/O, network requests, UI responsiveness | Mathematical computations, image processing | System commands, shell scripts, external APIs | Web servers, real-time systems, concurrent I/O |