Разница
- Конкурентность — несколько задач прогрессируют, переключаясь между собой. Одно ядро может быть конкурентным через time-slicing
- Параллелизм — задачи выполняются буквально одновременно на нескольких ядрах/CPU
Потоки, процессы, корутины
- Process — изолированное пространство памяти. Дорог для запуска и переключения
- Thread — общая память, легче процесса. Race conditions!
- Coroutine / Fiber — кооперативное переключение без ОС. Очень лёгкие (PHP Fibers, Go goroutines, Python async)
PHP
PHP традиционно синхронный: один запрос = один процесс. Для настоящего параллелизма — Swoole, ReactPHP, или горизонтальное масштабирование через PHP-FPM.