Некоторое время назад мне был задан вопрос, на который я не уверен, как ответить, вопрос напечатан ниже: кто-нибудь может дать мне представление о том, как мне следует поступить с помощью C ++
написать код для синхронизации работы профессора и его учеников в рабочее время. Профессор, конечно, хочет вздремнуть, если вокруг нет учеников, чтобы задавать вопросы; если есть студенты, которые хотят задавать вопросы, они должны синхронизироваться друг с другом и с профессором, чтобы
только один человек говорит в любой момент,
на каждый вопрос ученика отвечает профессор, и
ни один студент не задает другой вопрос, пока профессор не закончит отвечать на предыдущий.
Вам нужно написать четыре процедуры: AnswerStart (), AnswerDone (), QuestionStart () и QuestionDone ().
Профессор запускает код: AnswerStart (); дайте ответ; AnswerDone (). AnswerStart не возвращается, пока не будет задан вопрос. Каждый ученик запускает код: QuestionStart (); задать вопрос; QuestionDone (). QuestionStart () не возвращается до тех пор, пока не настанет очередь студента задавать вопрос. Поскольку профессора считают грубым, что студент не ждет ответа, QuestionEnd () не должен возвращаться, пока профессор не закончит отвечать на вопрос.