Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Синхронизация потоков в среде ОС Windows 
V
    Опции темы
Solominka
Дата 14.11.2010, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



В общем, нужна помощь, чтобы разобраться в задаче.
Тема - синхронизация потоков. В моём случае - с помощью Таймера.

Задача дана в следующем виде.

Цитата
В пансионе отдыхают и предаются размышлениям 5 философов, пронумерованные от 1 до 5. В столовой расположен круглый стол, вокруг которого расставлены 5 стульев, также пронумерованные от 1 до 5. На столе находится одна большая тарелка со спагетти, которая пополняется бесконечно, также там расставлены 5 тарелок, в которые накладывается спагетти, и 5 вилок, назначение которых очевидно.
    Для того чтобы пообедать, философ входит в столовую и садится на любой стул. При этом есть философ сможет только в том случае, если свободны две вилки – справа и слева от его тарелки. При выполнении этого условия философ поднимает одновременно обе вилки и может поглощать пищу в течение какого-то заданного времени. В противном случае, философу приходится ждать освобождения обеих вилок.
    Пообедав, философ кладет обе вилки на стол одновременно и уходит.
    Описанный процесс происходит бесконечно.
    Воспользоваться объектами синхронизации типа «ожидаемый таймер».


В общем я не могу понять как минимум, что мне под чем понимать? Что понимать под тарелкой спагетти, вилками, и т.д.? Единственное, что я поняла - 5 философов - это 5 потоков... Больше ничего...

А так же не нашла нигде примера синхронизации потоков с помощью таймера.

Объясните пожалуйста, кто-нибудь, что мне надо делать и с чего начать!  smile 

PM MAIL   Вверх
ama_kid
Дата 15.11.2010, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


АСУТП-кодер
***


Профиль
Группа: Комодератор
Сообщений: 1460
Регистрация: 5.3.2007
Где: Москва

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



Цитата(Solominka @  14.11.2010,  17:39 Найти цитируемый пост)
что мне надо делать и с чего начать!
Вспомнил, что несколько лет назад я уже решал такую же задачу в этом же разделе. Начни с изучения того кода. В качестве домашнего задания - использование семафоров заменить на использование waitable-timers.



--------------------
самурай без меча подобен самураю с мечом, но только без меча 
PM MAIL   Вверх
Solominka
Дата 15.11.2010, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



ama_kid, ооо, спасибо большое за примерчик!
Я уж думала, мне совсем некому помочь =__=

Цитата

использование семафоров заменить на использование waitable-timers.


Интересно, как... Примеров то нету с этим таймером, чтоб хотя бы синтаксис посмотреть...
Ладно, попробуем что-нибудь сделать...
PM MAIL   Вверх
ama_kid
Дата 15.11.2010, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


АСУТП-кодер
***


Профиль
Группа: Комодератор
Сообщений: 1460
Регистрация: 5.3.2007
Где: Москва

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



Цитата(Solominka @  15.11.2010,  12:20 Найти цитируемый пост)
Интересно, как... Примеров то нету с этим таймером, чтоб хотя бы синтаксис посмотреть...
Ну зачем же так говорить?
Первая же ссылка по запросу "Waitable timers". И вообще, не стоит игнорировать оригинал


--------------------
самурай без меча подобен самураю с мечом, но только без меча 
PM MAIL   Вверх
Solominka
Дата 15.11.2010, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



ama_kid, ну я просто искала по-другому... "сихронизация потоков с помощью Timer" вот он мне  ине выдал ничего вразумительного =__=
Благодарю *ушла пробовать*
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




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


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

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