Например у меня есть функция для получения некоторых данных из API, но оно занимает некоторое время. И эту функцию могут вызывать и из других частей программы, и я хочу при каждом дополнительном вызове записывать эти вызовы в список (например в массив) и по окончаний первой поставить в очередь следующую.