Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Программа называется недетерминированной,если при одних и тех же входных данных она может демонстрировать различное наблюдаемое поведение.
Преодоление недетерминизма: синхронизация:
Примитивы синхронизации в PTHREADS: Семафоры. Критические секции. Условные переменные.
«Мютекс» - mutex – mutual exclusion (взаимное исключение);
Объявление и инициализация:
pthread_mutex_t – тип для взаимного исключения;
pthread_mutex_init(pthread_mutex_t* mutex, void* attribute);
pthread_mutex_destroy(pthread_mutex_t* mutex);
Захват и освобождение мютекса:
pthread_mutex_lock(pthread_mutex_t* mutex);
pthread_mutex_unlock(pthread_mutex_t* lock);
Освобождение мютекса может быть осуществлено только тем тредом, который производил его захват.
Итого: PTHREADS – переносимая библиотека системного уровня для разработки многопоточных программ
Дает возможность получить эффективность близкую к максимально-возможной, но при этом требуется серьезная переработка кода.
Дата публикования: 2015-01-13; Прочитано: 420 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!