Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
kandrey58region
1 / 1 / 0
Регистрация: 11.03.2009
Сообщений: 109
1

Программа вхождения и выхождения в критическую секцию..

06.11.2011, 22:21. Просмотров 652. Ответов 2
Метки нет (Все метки)

Здравствуйте..!!
Мне нужно попробовать сделать программу, которая входит в критическую секцию и выходит из критической секци..

Объясните пожалуйста, смысл такой программы, и что это..
Просто не понимаю что от меня хотят..
Это каким-то образом связано с прерыванием..??
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.11.2011, 22:21
Ответы с готовыми решениями:

Передача указателя на критическую секцию
Уважаемые програмисты MFC и WinAPI, вопрос к вам! Есть класс наследованный от CWinThread и...

Вход потоков в критическую секцию по порядку
Как создать такое событие чтобы потоки входили в критическую секцию по порядку 1,2,3,4 ..... Пока...

Написать программу с семафорами которая входит в критическую секцию
На дом задали такую домашку "написать программу с семафорами которая входит в критическую секцию"....

Где нужно всунуть Критическую секцию для корректной работы
Здравствуйте, есть такая проблема, точнее я полагаю, что она там есть. В обще при создании форм я...

Алгоритм Петерсона: почему поток не может два раза подряд выполнить критическую секцию?
Друзья! Имеем два потока. Читаем: "Не должно возникать неограниченно долгого ожидания для...

2
Charles Kludge
Клюг
7647 / 3162 / 383
Регистрация: 03.05.2011
Сообщений: 8,381
07.11.2011, 01:51 2
Для винды смотрите в MSDN
InitializeCriticalSection();
EnterCriticalSection();
LeaveCriticalSection();

Для ДОСи ищите про INT 2Fh AX=1681h/AX=1682h (Begin/End Critical Section) для досбокса под виндой
Для голой ДОСи всё решается запретом/разрешением прерываний по cli/sti, если кусочек кода небольшой. IMHO.
0
alexcoder
1848 / 718 / 150
Регистрация: 03.06.2009
Сообщений: 4,382
Завершенные тесты: 1
07.11.2011, 09:17 3
На ассемблере примера нет. На С++:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//Поток проверки чисел на простоту
VOID WINAPI check( PARAMS *lpv)
{
    int i;
    //Проверить выделенное потоку количество чисел
    for(i=lpv->beg_index;i<lpv->beg_index+lpv->num;i++)
    {
        if(isprost(i))
        {
            EnterCriticalSection(&cs);
            *fs << i << endl;
            LeaveCriticalSection(&cs);
        }
            EnterCriticalSection(&cs1);
            calculated++;       //увеличить количество проверенных чисел.
            LeaveCriticalSection(&cs1);
    }
    ExitThread(0);
}
Первая секция синхронизирует вывод на экран, если ее не будет, то во время вывода информации на экран из одного потока, операционка может передать (и таки передает) управление другому потоку, который также выводит информацию на экран, в результате вывод вторго вклинивается в вывод первого и на экране получается котовасия. Критическая секция позволяет синхронизировать вывод. Пока в одном потоке не завершится код, выполняемый в критической секции, ОС не выполнит этот же код в этой же секции. Другой поток будет ждать завершения критической секции первого.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.11.2011, 09:17

Реализовать критическую секцию на основе объекта синхронизации типа "событие"
Есть код, все, вреде бы логически правильно... Должно работать, но... Увы нет((( Если есть...

Ms Word 2003 генерирует критическую ошибку.
При вставке веб-контента из IE появляется критическая ошибка, Word зависает и предлагает отправить...

Температура процессора в простое превышает критическую
Занимаюсь монтажом и графикой. до сегодняшнего дня температура поднималась выше критической только...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru