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

Потоки и критическая секция! - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Поиск и вывод слов начинающихся с указанной заглавной буквы http://www.cyberforum.ru/cpp-beginners/thread1030449.html
Собственно задача в название темы:) Вот что сделал, но в данном варианте слова будет искать и выводить только если их вводить через пробел в строку, как можно сделать что бы это все работало допустим если ввод будет производиться через richTextBox в столбик? String^ res, sum; char ch; ch = Convert::ToChar(textBox1->Text); // буква sum =...
C++ Как сделать из двухзначного числа два числа через пробел? Как сделать из двухзначного числа два числа через пробел? Например: 44 = 4 4 Кто знает? http://www.cyberforum.ru/cpp-beginners/thread1030443.html
Дружественные (friend) функции C++
Доброго времени суток. Кратко о сути: Имеются 2 класса - Float (представляет собой число типа float) и FloatMatrix (представляет собой матрицу с типом float). Так вот, я хочу написать дружественную функцию, которая бы умножала матрицу из объекта класса FloatMatrix на число из объекта Float. Соответственно у меня 5 файлов: main.cpp Float.h FloatMatrix.h Float.cpp FloatMatrix.cpp
Создание объекта через указатель на базовый абстрактный класс C++
Есть абстрактный класс, от него наследуется 3 класса. В программе предусмотрено создание нового объекта(добавление клиента страховой компании). client - тот самый базовый класс, getN показывает текущее количество клиентов. Работаю с объектами через указатель на базовый класс. client *p; ........ client::changeN(client::getN()+1); //увеличиваем на 1 количество клиентов...
C++ Перегрузка операторов! http://www.cyberforum.ru/cpp-beginners/thread1030431.html
Создать несколько объектов (например, a и b) разработанного класса. Класс – символьная строка. Реализовать для объектов данного класса перегрузку операции <= (b<=a). Содержимое объектов (a,b, их строк), до и после выполнения операции, вывести на экран.
C++ Конфликт имён в ромбовидном наследовании class A { private: int a; public: A(a0) : a(a0) {} } class B1 : virtual public A { private: int b; int c; подробнее

Показать сообщение отдельно
EVP
319 / 241 / 43
Регистрация: 14.12.2010
Сообщений: 462
06.12.2013, 01:01     Потоки и критическая секция!
Цитата Сообщение от Lexa777 Посмотреть сообщение
Почему потоки проходят 14 раз, а не 10, как указано в MaxCount??????
23 строчка необходима, но не достаточна для того, чтобы после 25-ой это условие было бы актуальным:

Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// главный поток
void ThreadMain(char *name)
{
    while(Count < MaxCount)
    {
        EnterCriticalSection(&CS);
 
        if(Count < MaxCount)//<<-- проверка актуального значения защищённых переменных
        {
          // критическая секция кода
          cout << "'" << name << "'" << " находится в критической секции кода\n";
        s = name;
             if (s == "Поток №1") i1++;
        else if (s == "Поток №2") i2++;
        else if (s == "Поток №3") i3++;
        else if (s == "Поток №4") i4++;
        else if (s == "Поток №5") i5++;
        Count++;
          Sleep(200);
        }
 
        LeaveCriticalSection(&CS);
    }
}
 
Текущее время: 13:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru