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

Критические секции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Расстановка кораблей (морской бой) http://www.cyberforum.ru/cpp-beginners/thread921897.html
Доброго времени суток, при расстановке 2х палубных кораблей возникает проблема... При выборе точки уже занятой, система ломается и зацикливается. Как это можно исправить? Заранее спасибо #include <cstdlib> #include <iostream> using namespace std; bool f=true; bool z=true; int a=0, b=0, c=0, d=0;
C++ Игра Maze labirinth - не вижу начала игры Добрый вечер! Вопрос скорее по вижуал студио, хотя... // 8.15 sort.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <iostream> #include "conio.h" #include <string> http://www.cyberforum.ru/cpp-beginners/thread921875.html
C++ Найти номер по порядку элемента в векторе векторов
Подскажите, пожалуйста. Например, есть vector <vector<int> > k; а мне нужно найти номер по порядку элемента (a,b) в этом векторе векторов
C++ вывод гистограммы на экран
Добрый день, столкнулся с такой проблемой, не получается вывести гистограмму, заранее благодарен вот мой код #include <stdio.h> #include <stdlib.h> #include <limits.h> #include <graphics.h> int dr=DETECT, mod, err; initgraph(&dr,&mod," ");
C++ что показывает std::vector::max_size http://www.cyberforum.ru/cpp-beginners/thread921862.html
Returns the maximum number of elements that the vector can hold. но я щяс запускаю на ноутбуке с гигом оперативы for (int i=0; i<1E9; i++) myvector.push_back(i); естеественно залёт...к чему он тогда? нафиг не нужен? Добавлено через 7 минут ещё щяс меня кое-что разочаровало: #include <iostream> #include <vector> int main () {
C++ Рекурсивно определить сумму отрицательных элементов Задача.С клавиатуры вводится последовательность целых чисел, признак конца ввода 0. Рекурсивно определить сумму отрицательных элементов. Очень нужно.Вот немного написал. #include <stdio.h> #include <conio.h> int main() { int a; int sum = 0; подробнее

Показать сообщение отдельно
Kukurudza
105 / 86 / 6
Регистрация: 29.08.2012
Сообщений: 539
12.07.2013, 08:23     Критические секции
было так:
C++
1
2
3
4
5
6
7
8
9
10
class A {
    someType t;
public:
    void f1() {
        модификация t;
    }
    void f2() {
        модификация t;
    }
};
хочу так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class A {
    someType t;
public:
    void f1() {
        критическая секция
        модификация t;
    }
    void f2() {
        критическая секция
        модификация t;
    }
    void f3() {
        критическая секция
        модификация t;
    }
};
Вот такая конструкция. Все три функции дергаются каждая из своего потока. Причем, f2 и f3 очень интенсивно, а f1 очень редко. При этом, если бы не было функции f1, то критические секции для f2 и f3 вообще не нужны, потому что логика внутри f2 и f3 устроена так, что конфликтов не возникает. Собственно, вопрос: как сделать так, чтобы при добавлении функции f1, у меня функции f2 и f3 выполнялись параллельно, пока нет входа в f1, а при входе в f1, естественно управление давалось бы либо функции f1 (причем у нее приоритет, она должна как можно быстрее отработать и уйти, и не тормозить параллельную работу f2 и f3) либо параллельная работа функций f2 и f3 (хотя в этот момент можно и не параллельно, не критично, так как f1 выполняется очень быстро).

Добавлено через 12 минут
И еще тут же вопрос. Правильно ли я понимаю вот это: http://vsokovikov.narod.ru/New_MSDN_...calsection.htm
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
someType f;
void f1 {
    EnterCriticalSection
    очень много гомнокода1 по модификации f
    очень много гомнокода2 по модификации f
    очень много гомнокода3 по модификации f
    LeaveCriticalSection
}
void f2 {
    EnterCriticalSection
    очень много гомнокода4 по модификации f
    очень много гомнокода5 по модификации f
    очень много гомнокода6 по модификации f
    LeaveCriticalSection
}
пока полностью не выполнится одна из секция, она не прервется и не отдаст управление второй? ну грубо говоря: выполняется очень много гомнокода1 по модификации f, тот он локается и выполняется очень много гомнокода4 по модификации f, тут локается он и возвращается к очень много гомнокода1 по модификации f ??
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru