Это в основном вопрос, не зависящий от языка.
Если я жду завершения двух событий (скажем, двух событий ввода-вывода или HTTP-запросов), каков наилучший шаблон для решения этой проблемы. Я могу придумать следующее (пример псевдо-js):
request1.onComplete = function() {
req1Completed = true;
eventsCompleted();
}
request2.onComplete = function() {
req2Completed = true;
eventsCompleted();
}
eventsCompleted = function() {
if (!req1Completed || !req2Completed) return;
// do stuff
}
Это наиболее эффективный шаблон или есть более элегантные способы решения этой проблемы?