Как реализовать алгоритм FCFS в задаче однополосного моста?

#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();   } }