#java #operating-system #deadlock #semaphore #starvation
Вопрос:
Как реализовать алгоритм FCFS в задаче с однополосным мостом?
Я работаю над проблемой Однополосного моста и хочу избежать голодной смерти.
Всякий раз, когда житель деревни начинает ждать, я хочу добавить его в конец очереди ожидания, и всякий раз, когда мост свободен, я хочу поставить жителя деревни в начало очереди ожидания.
Вот фрагмент моего кода, не беспокоящийся о голодании и не реализующий FIFO:
System.out.println("NorthBound Villager " count " is waiting"); try { Thread.sleep(2); } catch (Exception e) { System.out.println(e); } bridge.crossBridge(); System.out.println("NorthBound Villager " count " is crossing the bridge"); try { Thread.sleep(2); } catch (Exception e) { System.out.println(e); } System.out.println("NorthBound Villager " count "left the bridge"); bridge.left(); } }