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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ автоматическое нажатие ЛКМ http://www.cyberforum.ru/cpp/thread420574.html
Доброго времени суток! кто сможет помочь? нужно написать программу или скрипт, чтоб имитировать нажатие левой кнопки мыши через каждые 10 секунд в одном и том же месте мыши! заранее благодарю кто может помочь!
C++ Нужен эмулятор диспечера задач. Ребят,помогите,пожалуйста,может у кого завалялся эмулятор диспечера задач на С/С++,очень надо. Нужно,что бы он создавал процесс,вводил его в состояние ожидания/выполнения и закрывал. Не откажусь от любой помощи,forever love <3. http://www.cyberforum.ru/cpp/thread419470.html
C++ Excel Automation in C++
Коллеги, прошу помощи! Нужен пример рабочего С++ кода, который делает следущее: - конектится к работающему в настоящий момент Excel; если Excel не запущен, то кидает exception; - конектится к текущему worksheet; если worksheet отсутствует, то кидает exception; - если все приконектилось удачно, читаем значение любой ячейки, например первый столбец/первая строка. Конектиться надо к любому...
C++ Совместимость кода Code Composer Studio (CCS) с C/C++
С преподавателем друг друга не поняли. Как результат, прихожу с честно сделанными в Паскале лабами под занавес года, а он мне встречный подарок: "раз ты так редко ходишь, то почему не сделал лабы в CCS?". В общем логика железная. Пошел гуглить что это за CCS. А вся группа вовсе не делала этих лаб, преподаватель засчитал им работу на парах. Грустно, а последний зачет у меня остался. Информации...
C++ Как получить TID текущего потока? (библиотека pthread, компилятор g++ 4.6.1 открытый вопрос niXmanу) http://www.cyberforum.ru/cpp/thread418032.html
Да, как? #include <windows.h> #include <pthread.h> #include <stdio.h> #include <stdlib.h> void *BusyWork(void *t) { printf("TID= %x\n", pthread_self()); printf("TID= %x\n", (unsigned int)GetCurrentThreadId ()); return NULL;
C++ Высота бинарного дерева поиска Что неправильно в программе? Полное условие #include <iostream> #include <cstdio> #pragma comment (linker, "/stack:250000000") using namespace std; подробнее

Показать сообщение отдельно
nxnx
Формучанин
362 / 293 / 16
Регистрация: 02.11.2010
Сообщений: 1,234
08.01.2012, 08:35     Критическая секция
C++
1
if( (pkol[(iNum+1)%5]->iHungry) <= iHungry && (pkol[(iNum+4)%5]->iHungry) <= iHungry )
==(при условии что iNum принимает значение от 0 до 4 включительно)
C++
1
2
3
4
5
int next;int prev;
next=iNum+1;prev=iNum-1;
if (next > 4) next=0;
if (prev < 0) prev=4;
if( (pkol[next]->iHungry) <= iHungry && (pkol[prev]->iHungry) <= iHungry )
зачем сравнивать параметр iHungry своей нити, с параметром iHungry других нитей?


C++
1
cout << "Kolonka  " << iNum  << ": Ya zapravlyayu mashinu nomer " << iNum << endl;
почему номер колонки==номеру машины?


C++
1
2
3
4
5
6
  if (TryEnterCriticalSection(&forkCriticalSection[iNum]))
                        {
                               // EnterCriticalSection(&forkCriticalSection[iNum]);
                                cout << "Kolonka  " << iNum  << ": Ya zapravlyayu mashinu nomer " << iNum << endl;
                                if (TryEnterCriticalSection(&forkCriticalSection[(iNum+1)%5]))
//...
Судя по алгоритму, каждая нить занимает свою секцию и следующую:
колонкаиспользует секции
00, 1
11, 2
22, 3
33, 4
44, 0
какой в этом смысл, я что то не догоняю?
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru