Потоки в Linux / Unix

В современных реализациях UNIX и Linux у каждого процесса может быть несколько потоков выполнения. Потоки можно представить себе в качестве набора процессов, совместно использующих одну и ту же виртуальную память, а также ряд других атрибутов. Каждый поток выполняет один и тот же программный код и совместно с другими потоками ис­пользует одну и ту же область данных и кучу. Но каждый поток имеет свой собственный стек, содержащий локальные переменные и информацию о связанности вызовов функций.

Потоки могут осуществлять взаимный обмен данными через совместно исполь­зуемые глобальные переменные. API для работы с потоками предоставляет условные переменные и мьютексы, являющиеся примитивами, позволяющими потокам процесса обмениваться данными и синхронизировать свои действия, в частности их использо­вание общих переменных. Потоки могут также обмениваться друг с другом данными с применением IPC и механизмов синхронизации, рассмотренных в этой статье. Ос­новным преимуществом использования потоков является упрощение обмена данными (через глобальные переменные) между сотрудничающими потоками. Кроме того, не­которые алгоритмы более естественно преобразуются в многопоточные реализации, чем в варианты использования нескольких процессов. Помимо этого, многопоточные приложения могут легко воспользоваться преимуществами параллельной обработки на многопроцессорном оборудовании.

Вас заинтересует / Intresting for you:

Основа операционной системы Li...
Основа операционной системы Li... 3031 просмотров Андрей Волков Wed, 09 Jan 2019, 05:36:45
Linux: как инсталлировать прог...
Linux: как инсталлировать прог... 1479 просмотров Дэйзи ак-Макарова Sun, 11 Nov 2018, 11:54:59
Команда man Linux: чтение стра...
Команда man Linux: чтение стра... 1432 просмотров Дэйзи ак-Макарова Sun, 11 Nov 2018, 09:36:51
Файловая система /proc в Linux
Файловая система /proc в Linux 1625 просмотров Fortan Fri, 22 Feb 2019, 06:05:18
Печать
Войдите чтобы комментировать