|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|||||||||||
Dining philosophers problem03.05.2013, 14:44. Показов 2494. Ответов 3
Метки нет (Все метки)
Не уверен что это тот раздел что мне надо, но раз уж я реализовываю на java то пускай будет он.
Собственно сама задача если кто никогда не встречался с ней: Пять безмолвных философов сидят вокруг круглого стола, перед каждым философом стоит тарелка спагетти. Вилки лежат на столе между каждой парой ближайших философов. Каждый философ может либо есть, либо размышлять. Приём пищи не ограничен количеством оставшихся спагетти — подразумевается бесконечный запас. Тем не менее, философ может есть только тогда, когда держит две вилки — взятую справа и слева. Каждый философ может взять ближайшую вилку (если она доступна), или положить — если он уже держит её. Взятие каждой вилки и возвращение её на стол являются раздельными действиями, которые должны выполняться одно за другим. Классическая задача, думаю всем известно почему может возникнуть deadlock и голодание философов, так вот я при написании решения сделал некую хитрость и теперь не могу до конца понять спасает ли она меня от деадлока или нет, но опишу всё подробно: Есть 5 философов (объекты Philosopher), каждый из них при создании узнаёт свой номер + получает объекты левая и правая вилка чтобы знать что хватать (у меня это объекты Lock). Ключевой особенностью я сделал то что в зависимости от номера философа он пытаеться ухватить первой либо левую вилку, либо правую
На практике пробовал ганять с временем на размышление = 0 и кушанием = пару секунд и до дедлока ни разу не доходило, но всё же нет ли какого-то варианта когда он таки наступит в моём случае?
0
|
|||||||||||
| 03.05.2013, 14:44 | |
|
Ответы с готовыми решениями:
3
Problem Problem subversion problem |
|
|
|
| 03.05.2013, 23:27 | |
|
это у вас рейс кондишен скорее чем дедлок )
всем надо 2 вилки и их могут захватить разные потоки в вашей вилке синхронизация по классу и так у вас никакого дедлока не будет, так как одномоментно доступен только 1 метод можно было даже не брать синхронизированный вектор итак в метод никого не пустятвы проверьте у вас в векторе не более 1 обьекта за раз ) принтите его после постановки в очередь
1
|
|
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
||
| 04.05.2013, 14:36 [ТС] | ||
|
mutagen, ну я проверил тем что установил время кушания = пара секунд, а время размышления = 0 ну и за 5 минут дедлок не получился так что вроде всё хорошо.
Добавлено через 3 минуты
0
|
||
|
|
||
| 04.05.2013, 14:39 | ||
|
0
|
||
| 04.05.2013, 14:39 | |
|
Помогаю со студенческими работами здесь
4
Problem CPU IDE Problem Intialization problem Windows 7 ЦП problem Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать контроль заполнения реквизита табличной части. . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
|
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|