Я работаю над заданием и должен создать два класса: один представляет человека, а другой представляет собой мост. Только один человек может «пересекать» мост в любой момент времени, но могут быть люди, ожидающие переходаJava, несколько потоков только с одним исполнением за один раз
Я легко реализовал это с многопоточным доступом, позволяющим нескольким людям пересекаться сразу, но у меня возникают проблемы, когда меняя его, чтобы можно было запускать только один поток ...
Моя основная проблема - дизайн класса, который они хотят, мне нужно начинать темы в классе person, но класс моста должен уметь ждать и уведомлять их для начала/остановки
Любые идеи, как я могу это сделать?
Использование синхронизированного метода, по-видимому, является самым элегантным решением Java. Ассистент может увидеть [«Синхронизированные методы»] (http://download.oracle.com/javase/tutorial/essential/concurrency/syncmeth.html) для описания того, что он делает. Он не будет много рассказывать о семафорах или мьютексах/условиях, но это собственная ошибка преподавателя для выбора чего-то такого высокого уровня, как Java, чтобы преподавать что-то как низкоуровневое, как синхронизирующий доступ между несколькими потоками. –