![]() |
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]() ![]() ![]() |
|
Just_Girl |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 6.8.2007 Репутация: нет Всего: нет |
Привет всем! Вопрос мой о Семафорах...
Есть ли Семафоры в C??? И если нет, подскажите пожалуйста, как это можно самой сделать? ![]() Это сообщение отредактировал(а) Just_Girl - 15.10.2007, 14:19 |
|||
|
||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 8 Всего: 154 |
Есть в win32 api.
Создаются с помощью ф-ии CreateSemaphore |
|||
|
||||
Just_Girl |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 6.8.2007 Репутация: нет Всего: нет |
К сожалению я работаю Metrowerks CodeWarrior, с 2D Engine, которую написал один программист. Может вожможно что т самой как-то написать, очень лёгкое?
|
|||
|
||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 8 Всего: 154 |
Захватить семафор можно любой Wait функцией (WaitForSingleObject)
Освободить - ReleaseSemaphore После использования нужно обязательно вызвать CloseHandle Почитать подробнее можно в мсдн. Добавлено через 2 минуты и 47 секунд А разве нельзя с этим компилятором использовать windows api. Добавлено через 3 минуты и 56 секунд зы если не секрет, для чего нужен семафор? |
|||
|
||||
Just_Girl |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 6.8.2007 Репутация: нет Всего: нет |
Я короче прохожу стажировку, сейчас как-бы на подготовке. Тренируюсь с Tasks. Так-как тут всё немножко по другому, надо работать с Tasks и когда очень много действий, они не дают друг-другу работать. Я сейчас пробую сделать симуляцию на банковский автомат и ет надо с семафорами.
![]() |
|||
|
||||
Lazin |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 8 Всего: 154 |
Работает это так: когда поток выполняет ф-ю WaitForSingleObject, если семафор занят менее чем тремя потоками выполнение продолжается, иначе поток блокируется, пока поток владеющий semaphore, не выполнит ф-ю ReleaseSemaphore. |
||||||
|
|||||||
Just_Girl |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 6.8.2007 Репутация: нет Всего: нет |
хммм.........чтот трудновато.
![]() |
|||
|
||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 8 Всего: 154 |
Ну можно критические секции использовать. Только они блокируют все кроме одного потока.
|
|||
|
||||
Just_Girl |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 6.8.2007 Репутация: нет Всего: нет |
Что ты опытный я уже поняла, хаха но мой уровень не высок, с C только начала работать.
|
|||
|
||||
Alek86 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1299 Регистрация: 30.1.2007 Где: Киев Репутация: нет Всего: 25 |
убери комментарии - и ничего трудного не будет
![]() |
|||
|
||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 8 Всего: 154 |
||||
|
||||
Just_Girl |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 6.8.2007 Репутация: нет Всего: нет |
Nitro SDK, слишал об этом?
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Системное программирование и WinAPI" | |
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |