SoftCraft
разноликое программирование
Отправная точка
Проектирование
Парадигмы
Список основных разделов
Заметки о парадигмах программирования
Процедурно-параметрическое программирование
Функционально-потоковое параллельное программирование
Автоматное программирование
Параллелизм
Системы программирования
Языки программирования
Библиотеки
Трансляторы
Техника кодирования
Методы эффективного кодирования
Windows API
Искусственный интеллект
Нейронные сети
Теория
Учебный процесс
Содержание раздела
Основы разработки трансляторов (учебный курс)
Архитектура вычислительных систем (учебный курс)
Разное
Прочие вопросы, связанные с IT
Беллетристика
Брюзжалки
Об авторе
О себе
Для чего этот сайт
Многопоточное программирование. Синхронизация
Начальная страница курса
Содержание занятия
Использование мьютексов для обработки критических секций.
Применение семафоров для предотвращения конфликтов.
Использование условных переменных.
Блокировки чтения-записи.
Примеры программ
C++. Перемножение матриц без наличия конфликтных ситуаций
C++. Блокировка критической секции. Использование мьютесов для предотвращения сбоев при записи в общую очередь в задаче перемножения матриц
C++. Задача о кольцевом буфере. Применение мьютексов и семафоров для обеспечения корректной работы программы
C++. Задача о кольцевом буфере. Применение мьютексов и условных переменных для обеспечения корректной работы программы
C++. Читатели-писатели с общим одномерным массивом. Использование блокировки чтения-записи
C++. Обмен данными между двумя изолированными массивами. Использование барьеров
Используемые источники информации
Подборка источников информации по параллельному программированию
Начальная страница курса