Существует параллелизм на уровне процесса.
Однако ядро Linux не имеет представления о потоках или процессах. Он знает только задачи.
Существует Task_parallelism , который выполняется процессами или потоками.
Потоки - это задачи, которые совместно используют большую часть ресурсов (адресное пространство, mmaps, каналы, обработчики открытых файлов, сокеты и т. Д.) С родительской задачей. Неизбежной проблемой параллелизма является совместное использование ресурсов.
Существуют также API-интерфейсы Linux, позволяющие управлять количеством ресурсов, которые можно совместно использовать или не распределять между потоками, что обеспечивает большую гибкость.
Именно поэтому параллелизм на уровне потоков более популярен, особенно в приложениях, написанных для коммерческих серверов, таких как базы данных.