У меня следующая проблема (с использованием C # в приложении Xamarin / Android):
Каждую секунду поток пользовательского интерфейса вызывает функцию DoLongTaskAsync, которая ожидает и возвращает элемент результата.
Продолжительность функции DoLongTaskAsync может отличаться, иногда она длится 2 секунды, иногда всего 0,5 секунды.
Через 30 секунд я хочу разместить элементы результатов в том же порядке, что и звонки, которые были сделаны.
Я не могу передать переменную в DoLongTaskAsync.
Я не могу просто поместить их в список после ожидания DoLongTaskAsync, потому что продолжительность может отличаться, и результат 2 может вернуться до завершения вызова 1.
Я также не могу сохранить некоторые временные метки перед ожиданием DoLongTaskAsync, потому что они будут переопределены для каждого вызова из потока пользовательского интерфейса.
Какой лучший способ решить эту проблему?