Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.04.2008, 20:41   #1
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
Восклицание Многопоточные приложения

Всем здрасте. Мне нужна помощь. Изучаем многопоточность в С++. Мне дали задание: "Реализовать такие шаблоны как: Read\Write Lock, Critical Section, Semaphore". В одной или в разных программах я не знаю. Так вот. У кого есть ссылки на информацию по данной теме (желательно с примерами исходных кодов)? Очень нужно. Гугл мне не очень помог в данной теме. Заранее благодарен.
MaTBeu вне форума Ответить с цитированием
Старый 17.04.2008, 20:48   #2
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Реализовывать объекты синхронизации на шаблонах?? Странная задача. Если Windows, то:
http://msdn2.microsoft.com/en-us/lib...60(VS.85).aspx
B_N вне форума Ответить с цитированием
Старый 17.04.2008, 20:50   #3
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

ищи про критические секции, семафоры, мьютексы и т.д. и т.п.
pu4koff вне форума Ответить с цитированием
Старый 17.04.2008, 21:48   #4
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Это шаблоны проектирования. Мы по ним и начали учить многопоточность. А книги какие-то есть у Вас на примете? Если да, то выложите ссылку, буду очень благодарен. У меня особый интерес к этой теме, так что хочется ее разобрать от и до.
MaTBeu вне форума Ответить с цитированием
Старый 17.04.2008, 22:30   #5
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Наткнулся вот на это

Современное проектирование на С++

нужно будет почитать. Книга обещает быть интересной.
Судя по оглавлению как раз о реализации шаблонов. Есть раздел и о многопоточности.

А вот в остальных источниках, что я сам читал, рассматриваются только самые общие шаблоны проектирования (адаптер, мост, итератор ...). Таких специализированных как семафор мне не встречалось. И не было примеров реализации - только диаграммы классов на UML.

Гамма, Хелм... "Приемы ОО проектирования" - интересно, но только самые основные шаблоны.

Ольга Дубина "Обзор паттернов проектирования" - подробное описание шаблонов и рассматривается бОльшее количество шаблонов.
alexBlack вне форума Ответить с цитированием
Старый 17.04.2008, 22:35   #6
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

MaTBeu, уточните, Вам нужно реализовать программно свойства объектов синхронизации, или закрутить существующие объекты ОС в классы?
B_N вне форума Ответить с цитированием
Старый 18.04.2008, 11:31   #7
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Я уточнил задание. Оно звучит так: "Разработать необходимый набор классов, для реализации шаблонов проектирования Read\Write Lock, Critical Section, Semaphore. При реализации использовать обьекты синхронизации."

Да, намутил препод сильно, но я думаю просто создать классы, которые показывают основные принципы работы разных обьектов синхронизации.

Надеюсь ответил на Ваш вопрос.

alexBlack спасибо за ссылку, действительно интересная книга.
MaTBeu вне форума Ответить с цитированием
Старый 18.04.2008, 12:12   #8
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Цитата:
Сообщение от MaTBeu Посмотреть сообщение
Да, намутил препод сильно, но я думаю просто создать классы, которые показывают основные принципы работы разных обьектов синхронизации.
Тем не менее "При реализации использовать обьекты синхронизации." Значит, по сути дела, Вам надо просто сделать несколько шаблонов, в которых методы удут совпадать с системными функциями над объектами синхронизации, я так понимаю. Правда, у Александреску эта тема упоминается как-то вскользь.
B_N вне форума Ответить с цитированием
Старый 18.04.2008, 12:17   #9
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Ну я думаю разница не очень большая будет. Можно написать и стандартными средствами, вместо того, чтобы изобретать велосипед заново. Это не суть важно.

И еще. Я чуток неправильно выразился. Мне не нужно делать шаблоны. Мне просто сделать классы с обьектами синхронизации, чтобы показать их работу.

ПыСы: Если эта книга не совсем подходит, может есть что-нибудь более подходящее на примете?
MaTBeu вне форума Ответить с цитированием
Старый 18.04.2008, 12:29   #10
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Цитата:
Сообщение от MaTBeu Посмотреть сообщение
Ну я думаю разница не очень большая будет. Можно написать и стандартными средствами, вместо того, чтобы изобретать велосипед заново. Это не суть важно.
А без операционной системы Вы его и не изобретёте, на самом деле.

Цитата:
Сообщение от MaTBeu Посмотреть сообщение
И еще. Я чуток неправильно выразился. Мне не нужно делать шаблоны. Мне просто сделать классы с обьектами синхронизации, чтобы показать их работу.
Тем проще, сделать несколько классов вроде CEvent, CSemaphore, CMutant и CCriticalSection и "пристраивать" объекты этих типов к нужным данным.

Цитата:
Сообщение от MaTBeu Посмотреть сообщение
ПыСы: Если эта книга не совсем подходит, может есть что-нибудь более подходящее на примете?
Да Вы понимаете, тема на самом деле настолько несложная, что даже сходу и книгу не посоветовать, можно просто обойтись документацией ОС, ссылку я выше давал. Можете посмотреть, наверное, "Windows System Programming" by Johnson M. Hart, там более-менее подробно рассмотрены эти объекты, если хотите, могу набросать Вам примерчик, для какого-нибудь из них.
-------------------
P.S. Собственно говоря, в MFC эти классы уже реализованы.

Последний раз редактировалось B_N; 18.04.2008 в 12:36.
B_N вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MDI приложения и PageControl.... maLoy*508 Общие вопросы Delphi 2 04.04.2008 02:28
Делаю сайты, пишу маленькие/большие скрипты. Пишу веб-приложения и приложения под Windows. SkyM@n Фриланс 3 29.12.2007 16:21
Приложения в XP vicvtor Win Api 9 31.08.2007 22:55
создание приложения MarinaSt Общие вопросы Delphi 8 04.07.2007 23:51
Иконка приложения Баламут Общие вопросы Delphi 9 05.06.2007 20:14