Форум программистов, компьютерный форум CyberForum.ru

Мьютексы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Задано две матрицы http://www.cyberforum.ru/cpp-beginners/thread377229.html
найти АхВ результат скалярно умноженых матриц оформить как функцию на фото матрицы А и В
C++ Найти те числа последовательности, которые при делений на 7 дают остаток 1,2 или 5 1)Даны натуральные числа n,q1....qn.Найти те числа q1 последовательности q1...qn которые при делений на 7 дают остаток 1,2 или 5. 2)while Даны целые положительные числа N и K. Используя только операции сложения и вычитания, найти частное от деления нацело N на K, а также остаток от этого деления. 3)while Дано целое число N (> 0). С помощью операций деления нацело и взя- тия... http://www.cyberforum.ru/cpp-beginners/thread377226.html
C++ Динамическая область памяти функции new
Чистый Си У кого есть варианты с пояснениями Написать пользовательскую функцию, решающую указанную ниже задачу. Массив создается в динамической области памяти функцией new. При обращении к элементам массива воспользоваться взаимосвязью массивов с указателями (косвенная адресация). Предусмотреть реакцию программы на ситуации, при которых задача не имеет решения. В одномерном массиве,...
C++ Игра "угадайка" с использованием do while. Ошибка.
Собственно задача: Написать программу, играющую с пользователем в "угадайку" - пользователь загадывает число, компьютер пытается его отгадать. Компьютер называет свои варианты, а пользователь отвечает лишь "больше" либо "меньше". Вот прога: #include <iostream> #include <conio.h> using namespace std;
C++ Функция rand() http://www.cyberforum.ru/cpp-beginners/thread377197.html
Добрый день. Написал следующую функцию: #include <iostream> #include <stdlib.h> using namespace std; int main (int argc, char*argv) { int x = 0, count = 0; while (count != 10) {
C++ Динамические структуры данных С/С++ Помогите создать программу на С/С++ для реализации списка, стека и очереди. подробнее

Показать сообщение отдельно
Mustik
56 / 56 / 2
Регистрация: 10.07.2011
Сообщений: 229
04.11.2011, 09:53     Мьютексы
Задача мьютекса — защита объекта от доступа к нему других потоков, отличных от того, который завладел мьютексом. В каждый конкретный момент только один поток может владеть объектом, защищённым мьютексом. Если другому потоку будет нужен доступ к переменной, защищённой мьютексом, то этот поток засыпает до тех пор, пока мьютекс не будет освобождён. (c) Википедия

Есть еще вариант с критическими секциями. Принцип тот же.
Создаем критическую секцию
C++
1
CRITICAL_SECTION cs;
глобально, в main инициализируем
C++
1
InitializeCriticalSection( &cs );
, а в потоках, вместо WaitForSingleObject
C++
1
EnterCriticalSection( &cs );
, а вместо ReleaseMutex
C++
1
LeaveCriticalSection( &cs );
Вот понятная, вроде, ссылка
 
Текущее время: 10:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru