что такое mutex



Автор SaveStud.Su задал вопрос в разделе Другие языки и технологии

Что такое mutex и pthread? и из какой это области? и получил лучший ответ

Ответ от Владислав !!![гуру]
Используется для записи разных данных в одну и ту же переменную.
Все ниже сказанное касается Linux! Как в других системах - незнаю.
Итак, pthread - это POSIX.1 вариант потоков выполнения (иногда называют нитями,
нонасколько это правильно) . SUN-овский вариант, кажется, thr или thread. Для
работыпотоками определены N функций. В частности, pthread_create и pthread_exit.
int pthread_create(pthread_t *ID, pthread_attr_t *ATTR, void *(*ROUTINE) (void
*),*ARG)
создает поток, используя аттрибуты потока ATTR (NULL - по умолчанию) . Потоком
являетсяvoid *ROUTINE(void *ARG), которой передается аргумент ARG. В ID
возвращаетсяидентифицирующая поток. В книге написано, что в качестве ID можно
подставлять
int pthread_exit(void RET_VAL)
завершение потока. Используется в функции-потоке ROUTINE при завершении работы.
Далее, поскольку все потоки и сам родитель работают с одной областью памяти, то
надоразделять доступ, чтобы они друг другу не мешали (например, при записи в
однуту же переменную) . Для этого обычно используется три разновидности блокировок:
1. взаимоисключающая блокировка.
2. условные переменные.
3. семафоры.
Я использовал 1, остальное так и не пригодилось. Для работы с блокировками еть
таки
int pthread_mutex_init(pthread_mutex_t *LOCK,pthread_mutexattr_t *ATTR) -
инициируетLOCK (переменная типа pthread_mutex_t). ATTR пока не используется,
потомуNULL.
int pthread_mutex_destroy(pthread_mutex_t *LOCK) - удаляет блокировку LOCK.
int pthread_mutex_lock(pthread_mutex_t *LOCK) - блокирует остальные потоки.
int pthread_mutex_unlock(pthread_mutex_t *LOCK) - разблокирует остальные потоки.
int pthread_mutex_trylock(pthread_mutex_t *LOCK) - проверяет, можно ли
блокироватьВозвращает -1, если кто-то уже блокирует остальных.
Техника блокировок такая. Один поток вызывает ..._lock с аргументом LOCK и
продолжаетВ это время еще один поток вызывает ..._lock с агрументом LOCK. При
этомтех пор, пока первый поток не вызовет ..._unlock с аргументом LOCK, этот
поток (нет возврата из функции ..._lock). Таким образом, блокируются не данные,
апоток. блокировок в программе может быть несколько для более гибкого
распределения. когда есть 2 блока данных, с каждым из которых работают потоки
разныхимеет смысл создать 2 блокировки.
Все вышеперечисленные функции имеют тип int, через который обычно возвращается
код (-1).
Это самая что ни на есть основа. Там еще много чего есть. В частности,
аттрибутыприсоединенные и отсоединенные потоки. Но это лучше посмотреть в книге
попод UNIX.

Ответ от Екатерина[эксперт]
Это из области многопоточного программирования.Дисциплина называется "Системы реального времени"

Ответ от CRAY[гуру]
это из областей многопоточного программирования и параллельных вычисленийmutex - это для синхронизации параллельных потоков pthread - это поток стандарта POSIX (OS LINUX/UNIX)

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Что такое mutex и pthread? и из какой это области?

Помогите! Что такое мутирование голоса у девочек? Через сколько оно пройдёт? Какие признаки начала мутирования?
Мутация голоса у подростков — это явление, которое обусловлено изменениями гормонального фона
подробнее...
спросили в Скандал Существа
Что такое договорной матч? Существуют ли они вообще? или это просто вымысел из различных бандитских кинофильмов? xD
Договорной матч (договорная игра) — игра (в спорте), результат которой предопределён заранее в
подробнее...
спросили в Мода
Что такое модная тенденция?
ТЕНДЕНЦИЯ МОДЫ -- tendentia - направленность -- выявленные, самых Актуальных
Направлений в
подробнее...

Что такое Антропоморфизм?
Антропоморфизм (от греческих слов «человек» и «форма» ) — это наделение человеческими свойствами
подробнее...

Что такое букинг?
Работаю в рекламе. В промоушене. Для нашего вида деятельности могу сказать:
Для начала дадим
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:

Что такое "Загиб Матки"???
Загиб матки - это неправильное ее положение в области малого таза, при котором возможны нарушения
подробнее...
спросили в Логика
что такое математическая логика. определение
мат логика это полная жопа, на самом деле я так и не поняла что это за явление. Было у меня
подробнее...
спросили в Эспрессо
Что такое ТИРАМИСУ? С чем его едят? Откуда к нам пришло и ващееее ...
Тирамису́ (итал. Tiramisù) — изысканный итальянский десерт, приготавливаемый на основе
подробнее...
спросили в Другое
что такое эрозия шейки матки?
заболевание, требующее лечения (прижигания) , это не больно, но
подробнее...
спросили в Футбол
что такое стыковые матчи?
Они проводится, когда в одной группе несколько команд имеют одинаковое количество очков. К примеру,
подробнее...
спросили в Другое
Что такое адреномиметики?
Неселективные b-адреномиметики
За счет стимуляции b2-рецепторов эти препараты оказывают
подробнее...
спросили в Drupal
Что такое "сенпай"? Что значит это слово? Или правильно "семпай"?
Сэмпай (яп. 先輩, букв. «товарищ, стоящий впереди») — японский термин, обычно обозначающий того
подробнее...
спросили в Вульгата
Что такое "страх Божий" ?
Благоговение перед Всемогущим Богом
- когда страшно представить Его величие и могущество в
подробнее...
спросили в Дно
Что означает при УЗИ слово "дно матки"? Врач сказала что это хорошо и чтобы я запомнила что дно, но что это значит??
А дно банки Вы знаете что такое?) )
То же самое и здесь! )

Если дитё там прикрепилось
подробнее...

Зачем люди медитируют? что это приносит?
Медитация улучшает вашу карму, все отрицательные доминанты и ситуации уходят из вашей жизни, т. к.
подробнее...
Мьютекс на Википедии
Посмотрите статью на википедии про Мьютекс
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*