Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Задача по многопоточному ООП, код,в котором новичок должен разобраться 
V
    Опции темы
KaraKum
  Дата 19.1.2010, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 640
Регистрация: 3.12.2007

Репутация: 1
Всего: 1



Доброе время суток.

Необходимо проверить знание кода "учеников" языка C++. Важнейшие темы - это, конечно, многопоточность и объектно ориентированное программирование, поэтому нужен код (комментарии не обязательны - их всё-равно нужно будет удалить), который будет служить "задачкой" для испытуемого.
По решении задачи испытуемый должен ответить в чём суть приведённого кода.
Есть у кого такой код?
PM MAIL WWW   Вверх
kemiisto
Дата 19.1.2010, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 2
Всего: 160



Цитата(KaraKum @  19.1.2010,  13:17 Найти цитируемый пост)
Важнейшие темы - это, конечно, многопоточность и объектно ориентированное программирование

И то и другое - конёк Це++. smile Бедные дети, не ломайте им жизнь! smile 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
KaraKum
Дата 19.1.2010, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 640
Регистрация: 3.12.2007

Репутация: 1
Всего: 1



Харе флудить  smile  smile 
И надеюсь "испытуемый" будет не дитём.  smile 
Код должен быть небольшим.
PM MAIL WWW   Вверх
kemiisto
Дата 19.1.2010, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 2
Всего: 160



KaraKum, ну возьмите какую-нить простенькую многопоточную реализацию паттерна Singleton.

Гуглить что-то типа "thread-safe singleton".


--------------------
PM MAIL WWW GTalk Jabber   Вверх
W4FhLF
Дата 19.1.2010, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 20
Всего: 121



Можно разобрать шаблон Double checked locking

Добавлено через 1 минуту и 27 секунд
Хотя это зачастую часть многопоточного синглтона, который kemiisto предложил. 


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
17dufa
Дата 19.1.2010, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 324
Регистрация: 2.3.2006

Репутация: 3
Всего: 5



что-то вроде:
Код

class MutexHolder
{
  Mutex & m;
  MutexHolder(MutexHolder&);
  MutexHolder & operator=(MutexHolder&);
public:
  MutexHolder(Mutex & mutex) : m(mutex)
  {
     m.Wait();
  }
  ~MutexHolder()
  {
     m.Release();
  }
};

class Counter
{
  Mutex m;
  int i;
public:
  void Set(int i)
  {
     MutexHolder(m);
     this->i = i;
  }
  int Get()
  {
    MutexHolder(m);
    return i;
  }
};

PM MAIL   Вверх
KaraKum
Дата 19.1.2010, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 640
Регистрация: 3.12.2007

Репутация: 1
Всего: 1



Подумал: "Что за "задача", которая есть в инете". Сам написал. Вам не скажу  smile 
Написал следующее: фабрика строит "дерево" из "ветвей", "побегов" и "листьев". Что строить следующим нужно вводить через консоль. Программа работает, но если определённый "элемент" построить на определённом другом, но возникает .deadlock (логически это обосновано).
Вопрос по коду будет следующим: "В каком случае возникает deadlock?"
Надеюсь понравится  smile 

Спасибо за идеи!

Это сообщение отредактировал(а) KaraKum - 19.1.2010, 18:49
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0467 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.