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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
ht1515
шарпопочитатель
58 / 25 / 1
Регистрация: 31.01.2010
Сообщений: 949
#1

Что такое семафоры? - C++

29.01.2012, 14:57. Просмотров 1606. Ответов 3
Метки нет (Все метки)

сразу хочу показать ссылку http://ru.wikipedia.org/wiki/%D0%A1%...B8%D0%BA%D0%B0)
ниче не ясно...
можете помочь разобраться?
Семафо́р — объект, позволяющий войти в заданный участок кода не более чем n потокам. Определение введено Эдсгером Дейкстрой.
Семафоры используются при передаче данных через разделяемую память.
Во-первых не ясно :
Семафоры используются при передаче данных через разделяемую память
Всмысле разделяемую? Глобальную переменную что ли?
Во-вторых:
объект, позволяющий войти в заданный участок кода не более чем n потокам.
поток входит участок кода? че?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.01.2012, 14:57     Что такое семафоры?
Посмотрите здесь:

Что такое магазин? - C++
Подскажите что такое магазин? Как я понял - это что-то типо стека?

Что это такое??? - C++
virtual void Show(); virtual void Set(); friend ostream& operator<<( ostream & tmp , Medc & obj); friend istream& operator>>(...

что такое конструктор? - C++
Обьясните плиз что такое конструктор? Это функция а что она делает и для чего?

Что такое шаблоны в C++? - C++
Что такое шаблоны и для чего они нужны? Если не трудно приведите показательный пример применения шаблона.

Что такое void** ? - C++
Никак не могу понять Что такое void** или int** это указатель на указатель? Зачем это надо? спасибо, если кто объяснит

Что такое конкатенация - C++
Есть задание: Создать динамический классовый тип для работы со строками символов. Максимальная длинна строки – 65535 символов. Считать,...

Что такое MVS? - C++
И для чего нужно?В гугле ничё не нашёл.

Что такое void? - C++
С++ 1).Что такое void ? 2).Что ткое void swap ? 3).Что такое temp ? 4).Что ткое fot ? заранее спс

Что такое кодировка - C++
Ребята пните меня на соответствующую литературу где внятно и понятно объяснены кодировки. Желательно книжки. Меня на самом деле больше...

что такое полиморфизм - C++
помогите понять, что такое полиморфизм , читаю книгу, не могу вникнуть, как я понялполиморфизм это перегрузка функций?? типа один интерфейс...

Что такое Size_t - C++
size_t чет про него так мало инфы и так мутно написанно в инете я так попробывал даже создать переменную но не получилось... И еше мини...

Что такое Visual C++ - C++
Что это такое, и чем оно отличается от обычного стандарт C++?


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
KuKu
1556 / 1034 / 76
Регистрация: 17.04.2009
Сообщений: 2,974
29.01.2012, 15:07     Что такое семафоры? #2
Цитата Сообщение от ht1515 Посмотреть сообщение
Всмысле разделяемую? Глобальную переменную что ли?
Память доступная для нескольких процессов.
Цитата Сообщение от ht1515 Посмотреть сообщение
поток входит участок кода? че?
Семафор это счетчик. Счетчик может увеличиваться и уменьшаться. Когда значение счетчика == 0, то уменьшать его дальше нельзя и процесс/поток блокируется до тех пор, пока значение счетчика не будет > 0.
ht1515
шарпопочитатель
58 / 25 / 1
Регистрация: 31.01.2010
Сообщений: 949
29.01.2012, 15:18  [ТС]     Что такое семафоры? #3
KuKu, а уменьшается под действием чего? То есть от времени зависит или какого-то условия заданного пользователем? Если юзер будет использовать (присваивать ему 0 и 1 ), то получится мьютекс?
KuKu
1556 / 1034 / 76
Регистрация: 17.04.2009
Сообщений: 2,974
29.01.2012, 15:22     Что такое семафоры? #4
Сетчик уменьшает sem_wait(), увеличивает - sem_post(). Если счетчик == 0, при вызове sem_wait() идет блокировка.
Цитата Сообщение от ht1515 Посмотреть сообщение
Если юзер будет использовать (присваивать ему 0 и 1 ), то получится мьютекс?
По сути, да. Мьютексы вродь быстрее, но у него возможны только 0 или 1 и работают только в одном процессе у разных потоков. Семафоры же могут принимать любые значения от 0 до 32767 + могут быть видны из разных процессов(этого не делал, но говорят могут).
Yandex
Объявления
29.01.2012, 15:22     Что такое семафоры?
Ответ Создать тему
Опции темы

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