Использование протокола связи для решения проблемы ужина философовJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Использование протокола связи для решения проблемы ужина философов

Сообщение Anonymous »

Недавно мне пришлось решить задачу обедающих философов, и я справился с ней успешно. Однако теперь мне нужно решить ее снова, используя другой метод.
Вот требования:
На основе алгоритма Задачи обедающих философов и использования Интерфейсы ServerSocket и Socket в Java предоставляют распределенное решение этой проблемы. Ваша реализация должна соответствовать следующим требованиям:
  • Клиенты-философы: каждый философ должен быть реализован как независимый клиент, то есть каждый философ будет установить соединение с сервером через Сокет.
  • Централизованный сервер ресурсов: общие ресурсы («вилки») должны быть управляется централизованным сервером. Этот сервер, реализованный с использованием ServerSocket, будет принимать соединения от клиентов (философов) и контролировать доступ к ресурсам.
  • Протокол связи: Определите четкий и хорошо документированный протокол связи между сервером и клиентами, основанный на примерах RFC (например, SMTP или FTP). Например, при инициировании соединения философ (клиент) может отправить сообщение *HELLO*, а сервер ответит *HI *. Этот протокол должен обеспечивать весь поток взаимодействия, включая запросы на доступ к ресурсам, уведомления о начале размышления, запросы на прием пищи и возврат вилок.
  • Идентификация философа >: При установке первоначального соединения сервер должен назначить уникальный ID каждому философу. В случае потери соединения философ должен повторно подключиться, сообщив ранее назначенный ID.
  • Журналы сервера: Сервер должен поддерживать - журналы памяти о деятельности каждого философа, в которых хранится такая информация, как количество раз, когда философ думал и количество завершенных приемов пищи.
  • Время размышлений: время философа время размышления должно быть случайной величиной в миллисекундах, следующей за нормальное распределение со средним значением 5 и стандартным отклонением 2. Убедитесь, что это значение не является отрицательным (минимальное значение равно нулю), чтобы обеспечить согласованность системы.
Я пытаюсь решить эту проблему уже почти неделю, но ничего не помогает.
Заранее благодарен за любую помощь.

Подробнее здесь: https://stackoverflow.com/questions/792 ... er-problem
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»