Информация об изменениях

Сообщение Re[2]: А зачем потоки в mono плодят процессы в htop? от 17.10.2015 13:57

Изменено 17.10.2015 14:03 VladCore

Здравствуйте, vsb, Вы писали:

vsb>pthread это потоки. fork это создать новый процесс (копия текущего).


как то вы поверхностно напечатали.

я вот что нарыл. давным давно в линаксе что-то можно было распараралелить только форкнув себя. фактически создавался новый процесс с той же точкой старта что и возврат из функции fork, main не стартовал в дочернем процессе.

Это технологично но абсолютно неудобно. Но тогда ещё джавы даже не было, так что никто не парился и все продолжали как ежики есть кактусы форкать.

Потом, непонятно когда, появился революционный pthread, но не тот что сейчас. Назывался LinuxThreads. у каждого потока был свой пид.

Потом в ядре 2.6 появился обязатеьный и ещё более революционный pthread, как всегда не совместимый с предыдущим. Назывался Native Posix Thread Lib. У потоков могут быть одинаковые, а могут и разные pid. Зачем так сложно?

Потом в boost что-то добавили для распараллеливания, но я пока не знаю он на линуксе на голых форках работает или по другому?

сорри за ламерские вопросы.
Re[2]: А зачем потоки в mono плодят процессы в htop?
Здравствуйте, vsb, Вы писали:

vsb>pthread это потоки. fork это создать новый процесс (копия текущего).


как то вы поверхностно напечатали.

я вот что нарыл. давным давно в линаксе что-то можно было распараралелить только форкнув себя. фактически создавался новый процесс с той же точкой старта что и возврат из функции fork, main не стартовал в дочернем процессе.

Это технологично но абсолютно неудобно. Но тогда ещё джавы даже не было, так что никто не парился и все продолжали как ежики есть кактусы форкать.

Потом, непонятно когда, появился революционный pthread, но не тот что сейчас. Назывался LinuxThreads. у каждого потока был свой пид.

Потом в ядре 2.6 появился обязатеьный и ещё более революционный pthread, как всегда не совместимый с предыдущим. Назывался Native Posix Thread Lib. У потоков могут быть одинаковые, а могут и разные pid. Зачем так сложно? И почему нельзя было сделать как у всех? что бы pid у всех потоков в одном процессе был один.

Потом в boost что-то добавили для распараллеливания, но я пока не знаю он на линуксе на голых форках работает или по другому?

сорри за ламерские вопросы.