LINUX.ORG.RU

threads


0

0

Народ просветите есть ли в Linux'e так называемые threads которые создаются в одном процессе ( без fork'а ) т.е. мне сказали что в рамках одного процесса можно создать еще одну функцию main у которой будет общая память с первой но она сможет обращаться к диску, открывать сокеты вообщем обращаться к медленным ресурсам отдельно от первой main

anonymous

почему только с медленными?
а вообще смотри man pthread_create ....
очень нужная вещь-эти нити:)
как без нее обходились раньше не знаю:)

kirill_s
()

Спасибо за подсказку но только Linux'овое реализация нитей происходит порождением дополнительных процессов т.е. это реализовано на основе clone() на солярке как я понял используется реальная многопоточность не подскажешь как лучше всего организовать прогу чтоб она юзала нити и была переносима

anonymous
()

Да поддержка threadov в Linux достаточно специфическая, т.е. вся mutex-дребедень сделана на user-level используя сигналы. Что касается clone ничего плохого в этом не вижу. Память они используют одну и ту же и все остальное общее используя одни и те же указатели. Т.е. все очень даже правильно. Некоторые (включая Линуса) полагают, это и есть единственно верные threadi. Насчет переносимости ... В Linuxe реализованы так называемые Posix-threadi или Phtreadi ... т.е. любая программа будет переносима на любую платформу. Есть правда нюансы ... прежде всего связанные с тем что в Linuxe thread имеет PID и можно послать сигнал конкретному сигналу. Но в целом это не страшно.

ovsov
()

Спасибо Подскажи пожалуйста какой-нибудь url где вся эта байда описывается особенно интересно узнать про нюансы

anonymous
()

Otlichnaya knizhka progamirovanie na C++ dlya UNIX ...

master
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.