Потоки одного процесса в параллельном исполнении - PullRequest
0 голосов
/ 16 ноября 2018

Я знаю, что потоки существуют в границах процесса: каждый процесс имеет хотя бы 1 поток, и поток не может существовать без процесса;потоки разделяют память, а процессы нет (без особых манипуляций) и тд.Также мы можем загружать ядра процессора, предоставляя ему несколько процессов для одновременного выполнения.Но можем ли мы выполнить несколько потоков одного и того же процесса одновременно (я имею в виду реальное параллельное выполнение, а не псевдопараллельное), и, если мы можем, лучше ли это, чем использовать многократные процессы и почему?Спасибо за ответ!

1 Ответ

0 голосов
/ 16 ноября 2018

Потоки в основном легкие процессы.Потоки ОС могут выполняться параллельно, для реального параллельного выполнения требуется просто наличие нескольких ядер ЦП.

Потоки имеют более низкую изоляцию, поскольку они совместно используют память и могут забивать память друг друга, в отличие от процессов.Преимущество состоит в том, что с ними, как правило, связано меньше метаданных, и их проще / быстрее создавать, поэтому их можно запускать одновременно, а не процессов.

...