/ / Чи потоки X здійснюються за допомогою процесів X? - linux, windows, multithreading, process, операційна система

Чи потоки X здійснюються за допомогою X-процесів? - linux, windows, multithreading, process, операційна система

Я знаю, що існує багатопоточність і багатопроцесорний підхід.
Але мені склалося враження, що потоки реалізовані як процеси ОС. Отже, модель для нарізування є просто конструктивною програмою на вершині процесів.
Принаймні в Java (отже, тег, хоча це питання є мовним агностиком), я знаю, що нитки реалізуються Linux як процеси Це не загальний випадок? Чи залежить це від ОС?

UPDATE для Java запитав у коментарі @ SotiriosDelimanolis: Один-одного відображення нитки Java на Linux (LWP)

Відповіді:

1 для відповіді № 1

Нитки в сучасних версіях Java є "рідними" і реалізуються, заплановані та обробляються ОС, на якій працює JVM. Отже, відповідь залежить від того, яка ОС ви використовуєте.

Розрізнення між потоками Java та потоками ОС?

РЕДАГУВАТИ

Загалом, не тільки Java, правила для того, як створюються потоки, визначаються мовою, використовуваними для ОС та мовами бібліотеками (або їх комбінацією).

Але в цілому на сучасних ОС декілька потоків часто використовують єдиний процес з міркувань продуктивності. Іноді називають нитки легкі процеси.

Це посилання має огляд потоків і C-бібліотек для написання багатопоточних додатків для різних ОС.